diff options
Diffstat (limited to 'src/shader_recompiler/backend/spirv/spirv_emit_context.h')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/spirv_emit_context.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/shader_recompiler/backend/spirv/spirv_emit_context.h b/src/shader_recompiler/backend/spirv/spirv_emit_context.h index 768a4fbb5..e63330f11 100644 --- a/src/shader_recompiler/backend/spirv/spirv_emit_context.h +++ b/src/shader_recompiler/backend/spirv/spirv_emit_context.h | |||
| @@ -95,6 +95,20 @@ struct StorageDefinitions { | |||
| 95 | Id U32x4{}; | 95 | Id U32x4{}; |
| 96 | }; | 96 | }; |
| 97 | 97 | ||
| 98 | enum class InputGenericLoadOp { | ||
| 99 | None, | ||
| 100 | Bitcast, | ||
| 101 | SToF, | ||
| 102 | UToF, | ||
| 103 | }; | ||
| 104 | |||
| 105 | struct InputGenericInfo { | ||
| 106 | Id id; | ||
| 107 | Id pointer_type; | ||
| 108 | Id component_type; | ||
| 109 | InputGenericLoadOp load_op; | ||
| 110 | }; | ||
| 111 | |||
| 98 | struct GenericElementInfo { | 112 | struct GenericElementInfo { |
| 99 | Id id{}; | 113 | Id id{}; |
| 100 | u32 first_element{}; | 114 | u32 first_element{}; |
| @@ -283,7 +297,7 @@ public: | |||
| 283 | 297 | ||
| 284 | bool need_input_position_indirect{}; | 298 | bool need_input_position_indirect{}; |
| 285 | Id input_position{}; | 299 | Id input_position{}; |
| 286 | std::array<Id, 32> input_generics{}; | 300 | std::array<InputGenericInfo, 32> input_generics{}; |
| 287 | 301 | ||
| 288 | Id output_point_size{}; | 302 | Id output_point_size{}; |
| 289 | Id output_position{}; | 303 | Id output_position{}; |