This commit is contained in:
Branimir Karadžić 2018-01-12 16:38:54 -08:00
parent e7e28151c1
commit 052948f173
5 changed files with 36 additions and 16 deletions

View File

@ -1253,6 +1253,9 @@ BX_PRAGMA_DIAGNOSTIC_POP();
goto error;
}
m_swapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL;
m_swapBufferCount = 2;
bx::memSet(&m_scd, 0, sizeof(m_scd) );
m_scd.Width = _init.resolution.m_width;
m_scd.Height = _init.resolution.m_height;
@ -1261,11 +1264,11 @@ BX_PRAGMA_DIAGNOSTIC_POP();
m_scd.SampleDesc.Count = 1;
m_scd.SampleDesc.Quality = 0;
m_scd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
m_scd.BufferCount = 2;
m_scd.BufferCount = m_swapBufferCount;
m_scd.Scaling = 0 == g_platformData.ndt
? DXGI_SCALING_NONE
: DXGI_SCALING_STRETCH;
m_scd.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL;
m_scd.SwapEffect = m_swapEffect;
m_scd.AlphaMode = DXGI_ALPHA_MODE_IGNORE;
m_scd.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH;

View File

@ -10,8 +10,8 @@
#define USE_D3D11_STAGING_BUFFER 0
#if !USE_D3D11_DYNAMIC_LIB
# undef BGFX_CONFIG_DEBUG_PIX
# define BGFX_CONFIG_DEBUG_PIX 0
# undef BGFX_CONFIG_DEBUG_PIX
# define BGFX_CONFIG_DEBUG_PIX 0
#endif // !USE_D3D11_DYNAMIC_LIB
BX_PRAGMA_DIAGNOSTIC_PUSH();
@ -21,13 +21,16 @@ BX_PRAGMA_DIAGNOSTIC_IGNORED_MSVC(4005) // warning C4005: '' : macro redefinitio
#include <sal.h>
#define D3D11_NO_HELPERS
#if BX_PLATFORM_WINDOWS
# include <d3d11_3.h>
# include <dxgi1_6.h>
# include <d3d11_3.h>
# include <dxgi1_6.h>
#elif BX_PLATFORM_WINRT
# define __D3D10_1SHADER_H__ // BK - not used keep quiet!
# include <d3d11_3.h>
# define __D3D10_1SHADER_H__ // BK - not used keep quiet!
# include <d3d11_3.h>
#else
# include <d3d11_x.h>
# if !BGFX_CONFIG_DEBUG
# define D3DCOMPILE_NO_DEBUG_AND_ALL_FAST_SEMANTICS 1
# endif // !BGFX_CONFIG_DEBUG
# include <d3d11_x.h>
#endif // BX_PLATFORM_*
BX_PRAGMA_DIAGNOSTIC_POP()

View File

@ -284,6 +284,7 @@ namespace bgfx { namespace d3d12
"", // DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020
"", // DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020
"", // DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020
#if BX_PLATFORM_WINDOWS
"", // DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020
"", // DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020
"", // DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020
@ -292,9 +293,17 @@ namespace bgfx { namespace d3d12
// "", // DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709
// "", // DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020
// "", // DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020
#endif // BX_PLATFORM_WINDOWS
"Custom",
};
BX_STATIC_ASSERT(BX_COUNTOF(s_colorSpace) == DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020+2);
static const char kDxgiLastColorSpace =
#if BX_PLATFORM_WINDOWS
DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020
#else
DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020
#endif // BX_PLATFORM_WINDOWS
;
BX_STATIC_ASSERT(BX_COUNTOF(s_colorSpace) == kDxgiLastColorSpace+2);
static const D3D12_INPUT_ELEMENT_DESC s_attrib[] =
{
@ -1089,6 +1098,7 @@ namespace bgfx { namespace d3d12
hr = m_swapChain->GetContainingOutput(&output);
if (SUCCEEDED(hr) )
{
#if BX_PLATFORM_WINDOWS
IDXGIOutput6* output6;
hr = output->QueryInterface(IID_IDXGIOutput6, (void**)&output6);
if (SUCCEEDED(hr) )
@ -1100,7 +1110,7 @@ namespace bgfx { namespace d3d12
BX_TRACE("Display specs:")
BX_TRACE("\t BitsPerColor: %d", desc.BitsPerColor);
BX_TRACE("\t Color space: %s (colorspace, range, gamma, sitting, primaries, transform)"
, s_colorSpace[bx::min<uint32_t>(desc.ColorSpace, DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020+1)]
, s_colorSpace[bx::min<uint32_t>(desc.ColorSpace, kDxgiLastColorSpace+1)]
);
BX_TRACE("\t RedPrimary: %f, %f", desc.RedPrimary[0], desc.RedPrimary[1]);
BX_TRACE("\t GreenPrimary: %f, %f", desc.GreenPrimary[0], desc.GreenPrimary[1]);
@ -1113,6 +1123,7 @@ namespace bgfx { namespace d3d12
DX_RELEASE(output6, 1);
}
#endif // BX_PLATFORM_WINDOWS
DX_RELEASE(output, 0);
}

View File

@ -9,11 +9,14 @@
#define USE_D3D12_DYNAMIC_LIB BX_PLATFORM_WINDOWS
#include <sal.h>
#if BX_PLATFORM_XBOXONE
# include <d3d12_x.h>
#if BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT
# include <d3d12.h>
# include <dxgi1_6.h>
#else
# include <d3d12.h>
# include <dxgi1_6.h>
# if !BGFX_CONFIG_DEBUG
# define D3DCOMPILE_NO_DEBUG 1
# endif // !BGFX_CONFIG_DEBUG
# include <d3d12_x.h>
#endif // BX_PLATFORM_XBOXONE
#if defined(__MINGW32__) // BK - temp workaround for MinGW until I nuke d3dx12 usage.

View File

@ -18,7 +18,7 @@ extern "C"
#define BGFX_CHUNK_MAGIC_VSH BX_MAKEFOURCC('V', 'S', 'H', 0x5)
#define BGFX_SHADERC_VERSION_MAJOR 1
#define BGFX_SHADERC_VERSION_MINOR 7
#define BGFX_SHADERC_VERSION_MINOR 8
namespace bgfx
{