From 4fbfb4468112bcf578202b4e69e954a938808280 Mon Sep 17 00:00:00 2001 From: Shaun Ren Date: Fri, 17 Jan 2025 16:31:25 -0500 Subject: [PATCH] vkd3d-shader/spirv: Emit the tessellator domain for domain shaders. Commit 1ed8d907b3998b847daa26154ca0261f55f0de23 inadvertently dropped emitting the tessellator domain for domain shaders. Although Vulkan environments allow us to write the tessellator domain from the hull shader, the domain shader, or both, that's not generally true for OpenGL environments. --- libs/vkd3d-shader/spirv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index ee188116..7bd59062 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -10923,7 +10923,8 @@ static int spirv_compiler_generate_spirv(struct spirv_compiler *compiler, struct compiler->input_control_point_count = program->input_control_point_count; compiler->output_control_point_count = program->output_control_point_count; - if (program->shader_version.type == VKD3D_SHADER_TYPE_HULL && !spirv_compiler_is_opengl_target(compiler)) + if (program->shader_version.type == VKD3D_SHADER_TYPE_DOMAIN + || (program->shader_version.type == VKD3D_SHADER_TYPE_HULL && !spirv_compiler_is_opengl_target(compiler))) spirv_compiler_emit_tessellator_domain(compiler, program->tess_domain); if (compiler->shader_type != VKD3D_SHADER_TYPE_HULL)