vkd3d-shader/spirv: Emit the tessellator domain for domain shaders.

Commit 1ed8d907b3 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)