From dd5cce4730dd27da004e22a2e67467fe2398855e Mon Sep 17 00:00:00 2001 From: Mahmood - Zer0xFF <5013823+Zer0xFF@users.noreply.github.com> Date: Mon, 12 Aug 2024 17:12:17 +0100 Subject: [PATCH] d3d12: Fix Xbox GDK Build Part-of: --- src/gallium/drivers/d3d12/d3d12_resource.cpp | 5 ++++- src/gallium/drivers/d3d12/d3d12_screen.cpp | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/d3d12/d3d12_resource.cpp b/src/gallium/drivers/d3d12/d3d12_resource.cpp index af5ffb63bdb..aca29375f45 100644 --- a/src/gallium/drivers/d3d12/d3d12_resource.cpp +++ b/src/gallium/drivers/d3d12/d3d12_resource.cpp @@ -299,6 +299,7 @@ init_texture(struct d3d12_screen *screen, HRESULT hres = E_FAIL; enum d3d12_residency_status init_residency; +#ifndef _GAMING_XBOX if (heap && screen->max_feature_level == D3D_FEATURE_LEVEL_1_0_GENERIC) { D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO capData; @@ -353,7 +354,9 @@ init_texture(struct d3d12_screen *screen, format_cast_list, IID_PPV_ARGS(&d3d12_res)); } - } else { + } else +#endif + { if (heap) { init_residency = d3d12_permanently_resident; hres = screen->dev->CreatePlacedResource(heap, diff --git a/src/gallium/drivers/d3d12/d3d12_screen.cpp b/src/gallium/drivers/d3d12/d3d12_screen.cpp index 7216843c904..d4b30fdadd0 100644 --- a/src/gallium/drivers/d3d12/d3d12_screen.cpp +++ b/src/gallium/drivers/d3d12/d3d12_screen.cpp @@ -1638,8 +1638,10 @@ d3d12_init_screen(struct d3d12_screen *screen, IUnknown *adapter) D3D12_FEATURE_DATA_FEATURE_LEVELS feature_levels; static const D3D_FEATURE_LEVEL levels[] = { +#ifndef _GAMING_XBOX D3D_FEATURE_LEVEL_1_0_GENERIC, D3D_FEATURE_LEVEL_1_0_CORE, +#endif D3D_FEATURE_LEVEL_11_0, D3D_FEATURE_LEVEL_11_1, D3D_FEATURE_LEVEL_12_0, @@ -1665,7 +1667,9 @@ d3d12_init_screen(struct d3d12_screen *screen, IUnknown *adapter) #ifdef HAVE_GALLIUM_D3D12_GRAPHICS if (screen->max_feature_level >= D3D_FEATURE_LEVEL_11_0) { static const D3D_SHADER_MODEL valid_shader_models[] = { +#ifndef _GAMING_XBOX D3D_SHADER_MODEL_6_8, +#endif D3D_SHADER_MODEL_6_7, D3D_SHADER_MODEL_6_6, D3D_SHADER_MODEL_6_5, D3D_SHADER_MODEL_6_4, D3D_SHADER_MODEL_6_3, D3D_SHADER_MODEL_6_2, D3D_SHADER_MODEL_6_1, D3D_SHADER_MODEL_6_0, }; @@ -1673,7 +1677,9 @@ d3d12_init_screen(struct d3d12_screen *screen, IUnknown *adapter) D3D12_FEATURE_DATA_SHADER_MODEL shader_model = { valid_shader_models[i] }; if (SUCCEEDED(screen->dev->CheckFeatureSupport(D3D12_FEATURE_SHADER_MODEL, &shader_model, sizeof(shader_model)))) { static_assert(D3D_SHADER_MODEL_6_0 == 0x60 && SHADER_MODEL_6_0 == 0x60000, "Validating math below"); +#ifndef _GAMING_XBOX static_assert(D3D_SHADER_MODEL_6_8 == 0x68 && SHADER_MODEL_6_8 == 0x60008, "Validating math below"); +#endif screen->max_shader_model = static_cast(((shader_model.HighestShaderModel & 0xf0) << 12) | (shader_model.HighestShaderModel & 0xf)); break;