summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorPedro J. Estébanez <pedrojrulez@gmail.com>2023-01-09 16:56:16 +0100
committerPedro J. Estébanez <pedrojrulez@gmail.com>2023-12-12 19:10:04 +0100
commit2f47c573857f0e6f81281c62d51f006ab7f24828 (patch)
treed9cbc6a6981ccad9c4b2688f7109bad7b0a5a7b4 /modules
parent208c1020f52e66dcbe0bc8eae1622afb437e69a5 (diff)
downloadredot-engine-2f47c573857f0e6f81281c62d51f006ab7f24828.tar.gz
Add Direct3D 12 RenderingDevice implementation
Diffstat (limited to 'modules')
-rw-r--r--modules/glslang/register_types.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/glslang/register_types.cpp b/modules/glslang/register_types.cpp
index 7fe3a57880..d7e5ddd32c 100644
--- a/modules/glslang/register_types.cpp
+++ b/modules/glslang/register_types.cpp
@@ -67,6 +67,13 @@ static Vector<uint8_t> _compile_shader_glsl(RenderingDevice::ShaderStage p_stage
} else {
// use defaults
}
+ } else if (capabilities->device_family == RenderingDevice::DeviceFamily::DEVICE_DIRECTX) {
+ // NIR-DXIL is Vulkan 1.1-conformant.
+ ClientVersion = glslang::EShTargetVulkan_1_1;
+ // The SPIR-V part of Mesa supports 1.6, but:
+ // - SPIRV-Reflect won't be able to parse the compute workgroup size.
+ // - We want to play it safe with NIR-DXIL.
+ TargetVersion = glslang::EShTargetSpv_1_3;
} else {
// once we support other backends we'll need to do something here
if (r_error) {