diff --git a/src/config.h b/src/config.h index d6eedab132..6f4ec8c3ce 100644 --- a/src/config.h +++ b/src/config.h @@ -165,6 +165,10 @@ # define BGFX_CONFIG_RENDERER_USE_EXTENSIONS 1 #endif // BGFX_CONFIG_RENDERER_USE_EXTENSIONS +#ifndef BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER +# define BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER 0 +#endif // BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER + /// Enable use of tinystl. #ifndef BGFX_CONFIG_USE_TINYSTL # define BGFX_CONFIG_USE_TINYSTL 1 diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index 6d197f0863..a93da43086 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -3830,7 +3830,7 @@ namespace bgfx { namespace d3d11 } else if (m_dynamic) { -#if USE_D3D11_STAGING_BUFFER +#if BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER desc.Usage = D3D11_USAGE_DEFAULT; desc.CPUAccessFlags = 0; @@ -3855,7 +3855,7 @@ namespace bgfx { namespace d3d11 , NULL , &m_ptr ) ); -#endif // USE_D3D11_STAGING_BUFFER +#endif // BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER } else { @@ -3887,7 +3887,7 @@ namespace bgfx { namespace d3d11 ID3D11DeviceContext* deviceCtx = s_renderD3D11->m_deviceCtx; BX_ASSERT(m_dynamic, "Must be dynamic!"); -#if USE_D3D11_STAGING_BUFFER +#if BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER BX_UNUSED(_discard); D3D11_MAPPED_SUBRESOURCE mapped; diff --git a/src/renderer_d3d11.h b/src/renderer_d3d11.h index 2304350773..75e326e120 100644 --- a/src/renderer_d3d11.h +++ b/src/renderer_d3d11.h @@ -7,7 +7,6 @@ #define BGFX_RENDERER_D3D11_H_HEADER_GUARD #define USE_D3D11_DYNAMIC_LIB (BX_PLATFORM_LINUX || BX_PLATFORM_WINDOWS) -#define USE_D3D11_STAGING_BUFFER 0 #if !USE_D3D11_DYNAMIC_LIB # undef BGFX_CONFIG_DEBUG_ANNOTATION @@ -81,9 +80,9 @@ namespace bgfx { namespace d3d11 { BufferD3D11() : m_ptr(NULL) -#if USE_D3D11_STAGING_BUFFER +#if BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER , m_staging(NULL) -#endif // USE_D3D11_STAGING_BUFFER +#endif // BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER , m_srv(NULL) , m_uav(NULL) , m_flags(BGFX_BUFFER_NONE) @@ -102,18 +101,18 @@ namespace bgfx { namespace d3d11 m_dynamic = false; } -#if USE_D3D11_STAGING_BUFFER +#if BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER DX_RELEASE(m_staging, 0); -#endif // USE_D3D11_STAGING_BUFFER +#endif // BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER DX_RELEASE(m_srv, 0); DX_RELEASE(m_uav, 0); } ID3D11Buffer* m_ptr; -#if USE_D3D11_STAGING_BUFFER +#if BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER ID3D11Buffer* m_staging; -#endif // USE_D3D11_STAGING_BUFFER +#endif // BGFX_CONFIG_RENDERER_DIRECT3D11_USE_STAGING_BUFFER ID3D11ShaderResourceView* m_srv; ID3D11UnorderedAccessView* m_uav; uint32_t m_size;