vkd3d-shader/hlsl: Parse primitive type modifiers in geometry shaders.

This commit is contained in:
Shaun Ren
2025-03-10 15:47:25 -04:00
committed by Henri Verbeet
parent e880b11626
commit 57bb28e841
Notes: Henri Verbeet 2025-03-12 22:20:50 +01:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1405
4 changed files with 70 additions and 5 deletions

View File

@@ -3202,6 +3202,16 @@ struct vkd3d_string_buffer *hlsl_modifiers_to_string(struct hlsl_ctx *ctx, uint3
vkd3d_string_buffer_printf(string, "row_major ");
if (modifiers & HLSL_MODIFIER_COLUMN_MAJOR)
vkd3d_string_buffer_printf(string, "column_major ");
if (modifiers & HLSL_PRIMITIVE_POINT)
vkd3d_string_buffer_printf(string, "point ");
if (modifiers & HLSL_PRIMITIVE_LINE)
vkd3d_string_buffer_printf(string, "line ");
if (modifiers & HLSL_PRIMITIVE_TRIANGLE)
vkd3d_string_buffer_printf(string, "triangle ");
if (modifiers & HLSL_PRIMITIVE_LINEADJ)
vkd3d_string_buffer_printf(string, "lineadj ");
if (modifiers & HLSL_PRIMITIVE_TRIANGLEADJ)
vkd3d_string_buffer_printf(string, "triangleadj ");
if ((modifiers & (HLSL_STORAGE_IN | HLSL_STORAGE_OUT)) == (HLSL_STORAGE_IN | HLSL_STORAGE_OUT))
vkd3d_string_buffer_printf(string, "inout ");
else if (modifiers & HLSL_STORAGE_IN)