diff options
author | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-06-11 02:50:30 -0400 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-22 21:51:38 -0400 |
commit | e81c73a8748ccfcde56acfee5630116c3950e479 (patch) | |
tree | 617a67d3512b228dbaa40b710700dfb79f7bc7bc /src/shader_recompiler/backend/glsl/emit_context.h | |
parent | 7d89a82a4891f78e2c068a24ad3bb56d74c92055 (diff) |
glsl: Address more feedback. Implement indexed texture reads
Diffstat (limited to 'src/shader_recompiler/backend/glsl/emit_context.h')
-rw-r--r-- | src/shader_recompiler/backend/glsl/emit_context.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_context.h b/src/shader_recompiler/backend/glsl/emit_context.h index 9d8be0c9af..685f560893 100644 --- a/src/shader_recompiler/backend/glsl/emit_context.h +++ b/src/shader_recompiler/backend/glsl/emit_context.h @@ -36,6 +36,11 @@ struct GenericElementInfo { u32 num_components{}; }; +struct TextureImageDefinition { + u32 binding; + u32 count; +}; + class EmitContext { public: explicit EmitContext(IR::Program& program, Bindings& bindings, const Profile& profile_, @@ -142,10 +147,10 @@ public: std::string_view stage_name = "invalid"; std::string_view position_name = "gl_Position"; - std::vector<u32> texture_buffer_bindings; - std::vector<u32> image_buffer_bindings; - std::vector<u32> texture_bindings; - std::vector<u32> image_bindings; + std::vector<TextureImageDefinition> texture_buffers; + std::vector<TextureImageDefinition> image_buffers; + std::vector<TextureImageDefinition> textures; + std::vector<TextureImageDefinition> images; std::array<std::array<GenericElementInfo, 4>, 32> output_generics{}; bool uses_y_direction{}; |