diff --git a/src/renderer_d3d9.cpp b/src/renderer_d3d9.cpp index 42b706982..6ed1b2314 100644 --- a/src/renderer_d3d9.cpp +++ b/src/renderer_d3d9.cpp @@ -153,8 +153,8 @@ namespace bgfx BGFX_FATAL(m_d3d9, bgfx::Fatal::D3D9_UnableToCreateInterface, "Unable to create Direct3D."); - uint32_t adapter = D3DADAPTER_DEFAULT; - D3DDEVTYPE deviceType = D3DDEVTYPE_HAL; + m_adapter = D3DADAPTER_DEFAULT; + m_deviceType = D3DDEVTYPE_HAL; uint32_t adapterCount = m_d3d9->GetAdapterCount(); for (uint32_t ii = 0; ii < adapterCount; ++ii) @@ -176,8 +176,8 @@ namespace bgfx #if BGFX_CONFIG_DEBUG_PERFHUD if (0 != strstr(identifier.Description, "PerfHUD") ) { - adapter = ii; - deviceType = D3DDEVTYPE_REF; + m_adapter = ii; + m_deviceType = D3DDEVTYPE_REF; } #endif // BGFX_CONFIG_DEBUG_PERFHUD } @@ -192,8 +192,8 @@ namespace bgfx for (uint32_t ii = 0; ii < countof(behaviorFlags) && NULL == m_device; ++ii) { #if BGFX_CONFIG_RENDERER_DIRECT3D_EX - DX_CHECK(m_d3d9->CreateDeviceEx(adapter - , deviceType + DX_CHECK(m_d3d9->CreateDeviceEx(m_adapter + , m_deviceType , g_bgfxHwnd , behaviorFlags[ii] , &m_params @@ -201,8 +201,8 @@ namespace bgfx , &m_device ) ); #else - DX_CHECK(m_d3d9->CreateDevice(adapter - , deviceType + DX_CHECK(m_d3d9->CreateDevice(m_adapter + , m_deviceType , g_bgfxHwnd , behaviorFlags[ii] , &m_params @@ -237,11 +237,11 @@ namespace bgfx BX_TRACE("Max fragment shader 2.0 instr. slots: %d", m_caps.PS20Caps.NumInstructionSlots); BX_TRACE("Max fragment shader 3.0 instr. slots: %d", m_caps.MaxPixelShader30InstructionSlots); - m_fmtNULL = SUCCEEDED(m_d3d9->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, D3DFMT_NULL) ); - m_fmtDF16 = SUCCEEDED(m_d3d9->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, D3DFMT_DF16) ); - m_fmtDF24 = SUCCEEDED(m_d3d9->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, D3DFMT_DF24) ); - m_fmtINTZ = SUCCEEDED(m_d3d9->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, D3DFMT_INTZ) ); - m_fmtRAWZ = SUCCEEDED(m_d3d9->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, D3DFMT_RAWZ) ); + m_fmtNULL = SUCCEEDED(m_d3d9->CheckDeviceFormat(m_adapter, m_deviceType, D3DFMT_X8R8G8B8, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, D3DFMT_NULL) ); + m_fmtDF16 = SUCCEEDED(m_d3d9->CheckDeviceFormat(m_adapter, m_deviceType, D3DFMT_X8R8G8B8, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, D3DFMT_DF16) ); + m_fmtDF24 = SUCCEEDED(m_d3d9->CheckDeviceFormat(m_adapter, m_deviceType, D3DFMT_X8R8G8B8, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, D3DFMT_DF24) ); + m_fmtINTZ = SUCCEEDED(m_d3d9->CheckDeviceFormat(m_adapter, m_deviceType, D3DFMT_X8R8G8B8, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, D3DFMT_INTZ) ); + m_fmtRAWZ = SUCCEEDED(m_d3d9->CheckDeviceFormat(m_adapter, m_deviceType, D3DFMT_X8R8G8B8, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, D3DFMT_RAWZ) ); m_fmtDepth = D3DFMT_D24S8; @@ -263,8 +263,8 @@ namespace bgfx } BX_TRACE("Creating device"); - DX_CHECK(m_d3d9->CreateDevice(D3DADAPTER_DEFAULT - , D3DDEVTYPE_HAL + DX_CHECK(m_d3d9->CreateDevice(m_adapter + , m_deviceType , NULL , D3DCREATE_HARDWARE_VERTEXPROCESSING|D3DCREATE_BUFFER_2_FRAMES , &m_params @@ -322,8 +322,8 @@ namespace bgfx m_params.PresentationInterval = !!(m_flags&BGFX_RESET_VSYNC) ? D3DPRESENT_INTERVAL_ONE : D3DPRESENT_INTERVAL_IMMEDIATE; D3DMULTISAMPLE_TYPE msaa = s_msaa[(m_flags&BGFX_RESET_MSAA_MASK)>>BGFX_RESET_MSAA_SHIFT]; - HRESULT hr = m_d3d9->CheckDeviceMultiSampleType(D3DADAPTER_DEFAULT - , D3DDEVTYPE_HAL + HRESULT hr = m_d3d9->CheckDeviceMultiSampleType(m_adapter + , m_deviceType , m_params.BackBufferFormat , m_params.Windowed , msaa @@ -540,6 +540,8 @@ namespace bgfx IDirect3DSurface9* m_backBufferDepthStencil; HMODULE m_d3d9dll; + uint32_t m_adapter; + D3DDEVTYPE m_deviceType; D3DPRESENT_PARAMETERS m_params; uint32_t m_flags;