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.
This commit is contained in:
Shaun Ren 2025-01-17 16:31:25 -05:00 committed by Henri Verbeet
parent 802d7317cb
commit 4fbfb44681
Notes: Henri Verbeet 2025-01-20 16:19:15 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1345

View File

@ -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)