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 { Id U32x4{}; }; +enum class InputGenericLoadOp { + None, + Bitcast, + SToF, + UToF, +}; + +struct InputGenericInfo { + Id id; + Id pointer_type; + Id component_type; + InputGenericLoadOp load_op; +}; + struct GenericElementInfo { Id id{}; u32 first_element{}; @@ -283,7 +297,7 @@ public: bool need_input_position_indirect{}; Id input_position{}; - std::array<Id, 32> input_generics{}; + std::array<InputGenericInfo, 32> input_generics{}; Id output_point_size{}; Id output_position{}; |