|
@@ -436,6 +436,7 @@ namespace bgfx
|
|
|
, m_captureResolve(NULL)
|
|
, m_captureResolve(NULL)
|
|
|
, m_wireframe(false)
|
|
, m_wireframe(false)
|
|
|
, m_flags(BGFX_RESET_NONE)
|
|
, m_flags(BGFX_RESET_NONE)
|
|
|
|
|
+ , m_maxAnisotropy(1)
|
|
|
, m_vsChanges(0)
|
|
, m_vsChanges(0)
|
|
|
, m_fsChanges(0)
|
|
, m_fsChanges(0)
|
|
|
, m_rtMsaa(false)
|
|
, m_rtMsaa(false)
|
|
@@ -1245,8 +1246,12 @@ namespace bgfx
|
|
|
|
|
|
|
|
void updateResolution(const Resolution& _resolution)
|
|
void updateResolution(const Resolution& _resolution)
|
|
|
{
|
|
{
|
|
|
- bool recenter = !!(_resolution.m_flags & BGFX_RESET_HMD_RECENTER);
|
|
|
|
|
- uint32_t flags = _resolution.m_flags & ~BGFX_RESET_HMD_RECENTER;
|
|
|
|
|
|
|
+ bool recenter = !!(_resolution.m_flags & BGFX_RESET_HMD_RECENTER);
|
|
|
|
|
+ m_maxAnisotropy = !!(_resolution.m_flags & BGFX_RESET_MAXANISOTROPY)
|
|
|
|
|
+ ? D3D11_REQ_MAXANISOTROPY
|
|
|
|
|
+ : 1
|
|
|
|
|
+ ;
|
|
|
|
|
+ uint32_t flags = _resolution.m_flags & ~(BGFX_RESET_HMD_RECENTER | BGFX_RESET_MAXANISOTROPY);
|
|
|
|
|
|
|
|
if ( getBufferWidth() != _resolution.m_width
|
|
if ( getBufferWidth() != _resolution.m_width
|
|
|
|| getBufferHeight() != _resolution.m_height
|
|
|| getBufferHeight() != _resolution.m_height
|
|
@@ -1714,7 +1719,7 @@ namespace bgfx
|
|
|
sd.AddressV = s_textureAddress[(_flags&BGFX_TEXTURE_V_MASK)>>BGFX_TEXTURE_V_SHIFT];
|
|
sd.AddressV = s_textureAddress[(_flags&BGFX_TEXTURE_V_MASK)>>BGFX_TEXTURE_V_SHIFT];
|
|
|
sd.AddressW = s_textureAddress[(_flags&BGFX_TEXTURE_W_MASK)>>BGFX_TEXTURE_W_SHIFT];
|
|
sd.AddressW = s_textureAddress[(_flags&BGFX_TEXTURE_W_MASK)>>BGFX_TEXTURE_W_SHIFT];
|
|
|
sd.MipLODBias = 0.0f;
|
|
sd.MipLODBias = 0.0f;
|
|
|
- sd.MaxAnisotropy = D3D11_REQ_MAXANISOTROPY;
|
|
|
|
|
|
|
+ sd.MaxAnisotropy = m_maxAnisotropy;
|
|
|
sd.ComparisonFunc = 0 == cmpFunc ? D3D11_COMPARISON_NEVER : s_cmpFunc[cmpFunc];
|
|
sd.ComparisonFunc = 0 == cmpFunc ? D3D11_COMPARISON_NEVER : s_cmpFunc[cmpFunc];
|
|
|
sd.BorderColor[0] = 0.0f;
|
|
sd.BorderColor[0] = 0.0f;
|
|
|
sd.BorderColor[1] = 0.0f;
|
|
sd.BorderColor[1] = 0.0f;
|
|
@@ -2206,6 +2211,7 @@ namespace bgfx
|
|
|
DXGI_SWAP_CHAIN_DESC m_scd;
|
|
DXGI_SWAP_CHAIN_DESC m_scd;
|
|
|
#endif
|
|
#endif
|
|
|
uint32_t m_flags;
|
|
uint32_t m_flags;
|
|
|
|
|
+ uint32_t m_maxAnisotropy;
|
|
|
|
|
|
|
|
IndexBufferD3D11 m_indexBuffers[BGFX_CONFIG_MAX_INDEX_BUFFERS];
|
|
IndexBufferD3D11 m_indexBuffers[BGFX_CONFIG_MAX_INDEX_BUFFERS];
|
|
|
VertexBufferD3D11 m_vertexBuffers[BGFX_CONFIG_MAX_VERTEX_BUFFERS];
|
|
VertexBufferD3D11 m_vertexBuffers[BGFX_CONFIG_MAX_VERTEX_BUFFERS];
|
|
@@ -3678,11 +3684,12 @@ namespace bgfx
|
|
|
bx::snprintf(hmd, BX_COUNTOF(hmd), ", [%c] HMD ", hmdEnabled ? '\xfe' : ' ');
|
|
bx::snprintf(hmd, BX_COUNTOF(hmd), ", [%c] HMD ", hmdEnabled ? '\xfe' : ' ');
|
|
|
|
|
|
|
|
const uint32_t msaa = (m_resolution.m_flags&BGFX_RESET_MSAA_MASK)>>BGFX_RESET_MSAA_SHIFT;
|
|
const uint32_t msaa = (m_resolution.m_flags&BGFX_RESET_MSAA_MASK)>>BGFX_RESET_MSAA_SHIFT;
|
|
|
- tvm.printf(10, pos++, 0x8e, " Reset flags: [%c] vsync, [%c] MSAAx%d%s"
|
|
|
|
|
|
|
+ tvm.printf(10, pos++, 0x8e, " Reset flags: [%c] vsync, [%c] MSAAx%d%s, [%c] MaxAnisotropy "
|
|
|
, !!(m_resolution.m_flags&BGFX_RESET_VSYNC) ? '\xfe' : ' '
|
|
, !!(m_resolution.m_flags&BGFX_RESET_VSYNC) ? '\xfe' : ' '
|
|
|
, 0 != msaa ? '\xfe' : ' '
|
|
, 0 != msaa ? '\xfe' : ' '
|
|
|
, 1<<msaa
|
|
, 1<<msaa
|
|
|
, m_ovr.isInitialized() ? hmd : ", no-HMD "
|
|
, m_ovr.isInitialized() ? hmd : ", no-HMD "
|
|
|
|
|
+ , !!(m_resolution.m_flags&BGFX_RESET_MAXANISOTROPY) ? '\xfe' : ' '
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
double elapsedCpuMs = double(elapsed)*toMs;
|
|
double elapsedCpuMs = double(elapsed)*toMs;
|