diff options
| author | 2021-03-20 19:11:56 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:23 -0400 | |
| commit | 76c8a962ac4eae77e71d66a72c448930240339f9 (patch) | |
| tree | 267bdb72f0fad43779080cd1907dd8159a6c7154 /src/shader_recompiler/backend/spirv/emit_context.h | |
| parent | shader: Refactor half floating instructions (diff) | |
| download | yuzu-76c8a962ac4eae77e71d66a72c448930240339f9.tar.gz yuzu-76c8a962ac4eae77e71d66a72c448930240339f9.tar.xz yuzu-76c8a962ac4eae77e71d66a72c448930240339f9.zip | |
spirv: Implement VertexId and InstanceId, refactor code
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_context.h')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/emit_context.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_context.h b/src/shader_recompiler/backend/spirv/emit_context.h index 2d7961ac3..9b9e0d6b1 100644 --- a/src/shader_recompiler/backend/spirv/emit_context.h +++ b/src/shader_recompiler/backend/spirv/emit_context.h | |||
| @@ -82,6 +82,12 @@ public: | |||
| 82 | 82 | ||
| 83 | Id workgroup_id{}; | 83 | Id workgroup_id{}; |
| 84 | Id local_invocation_id{}; | 84 | Id local_invocation_id{}; |
| 85 | Id instance_id{}; | ||
| 86 | Id instance_index{}; | ||
| 87 | Id base_instance{}; | ||
| 88 | Id vertex_id{}; | ||
| 89 | Id vertex_index{}; | ||
| 90 | Id base_vertex{}; | ||
| 85 | 91 | ||
| 86 | Id input_position{}; | 92 | Id input_position{}; |
| 87 | std::array<Id, 32> input_generics{}; | 93 | std::array<Id, 32> input_generics{}; |
| @@ -99,11 +105,15 @@ private: | |||
| 99 | void DefineCommonConstants(); | 105 | void DefineCommonConstants(); |
| 100 | void DefineInterfaces(const Info& info, Stage stage); | 106 | void DefineInterfaces(const Info& info, Stage stage); |
| 101 | void DefineConstantBuffers(const Info& info, u32& binding); | 107 | void DefineConstantBuffers(const Info& info, u32& binding); |
| 102 | void DefineConstantBuffers(const Info& info, Id UniformDefinitions::*member_type, u32 binding, | ||
| 103 | Id type, char type_char, u32 element_size); | ||
| 104 | void DefineStorageBuffers(const Info& info, u32& binding); | 108 | void DefineStorageBuffers(const Info& info, u32& binding); |
| 105 | void DefineTextures(const Info& info, u32& binding); | 109 | void DefineTextures(const Info& info, u32& binding); |
| 106 | void DefineLabels(IR::Program& program); | 110 | void DefineLabels(IR::Program& program); |
| 111 | |||
| 112 | void DefineConstantBuffers(const Info& info, Id UniformDefinitions::*member_type, u32 binding, | ||
| 113 | Id type, char type_char, u32 element_size); | ||
| 114 | |||
| 115 | void DefineInputs(const Info& info, Stage stage); | ||
| 116 | void DefineOutputs(const Info& info, Stage stage); | ||
| 107 | }; | 117 | }; |
| 108 | 118 | ||
| 109 | } // namespace Shader::Backend::SPIRV | 119 | } // namespace Shader::Backend::SPIRV |