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

@@ -417,6 +417,11 @@ struct hlsl_attribute
#define HLSL_STORAGE_ANNOTATION 0x00080000
#define HLSL_MODIFIER_UNORM 0x00100000
#define HLSL_MODIFIER_SNORM 0x00200000
#define HLSL_PRIMITIVE_POINT 0x00400000
#define HLSL_PRIMITIVE_LINE 0x00800000
#define HLSL_PRIMITIVE_TRIANGLE 0x01000000
#define HLSL_PRIMITIVE_LINEADJ 0x02000000
#define HLSL_PRIMITIVE_TRIANGLEADJ 0x04000000
#define HLSL_TYPE_MODIFIERS_MASK (HLSL_MODIFIER_PRECISE | HLSL_MODIFIER_VOLATILE | \
HLSL_MODIFIER_CONST | HLSL_MODIFIER_ROW_MAJOR | \
@@ -427,6 +432,9 @@ struct hlsl_attribute
#define HLSL_MODIFIERS_MAJORITY_MASK (HLSL_MODIFIER_ROW_MAJOR | HLSL_MODIFIER_COLUMN_MAJOR)
#define HLSL_PRIMITIVE_MODIFIERS_MASK (HLSL_PRIMITIVE_POINT | HLSL_PRIMITIVE_LINE | HLSL_PRIMITIVE_TRIANGLE | \
HLSL_PRIMITIVE_LINEADJ | HLSL_PRIMITIVE_TRIANGLEADJ)
#define HLSL_ARRAY_ELEMENTS_COUNT_IMPLICIT 0
/* Reservation of a register and/or an offset for objects inside constant buffers, to be used as a