mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 20:52:36 +01:00
D3D11: Made use staging buffer configurable.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user