diff options
| author | 2021-06-16 04:59:30 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:38 -0400 | |
| commit | 374eeda1a35f6a1dc81cf22122c701be68e89c0f (patch) | |
| tree | 1155e56fffab693fe2c66ca38e6a435562c21b6d /src/shader_recompiler/runtime_info.h | |
| parent | glsl: Only declare fragment outputs on fragment shaders (diff) | |
| download | yuzu-374eeda1a35f6a1dc81cf22122c701be68e89c0f.tar.gz yuzu-374eeda1a35f6a1dc81cf22122c701be68e89c0f.tar.xz yuzu-374eeda1a35f6a1dc81cf22122c701be68e89c0f.zip | |
shader: Properly manage attributes not written from previous stages
Diffstat (limited to 'src/shader_recompiler/runtime_info.h')
| -rw-r--r-- | src/shader_recompiler/runtime_info.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/shader_recompiler/runtime_info.h b/src/shader_recompiler/runtime_info.h index d4b047b4d..63fe2afaf 100644 --- a/src/shader_recompiler/runtime_info.h +++ b/src/shader_recompiler/runtime_info.h | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include <array> | 7 | #include <array> |
| 8 | #include <bitset> | ||
| 8 | #include <optional> | 9 | #include <optional> |
| 9 | #include <vector> | 10 | #include <vector> |
| 10 | 11 | ||
| @@ -59,6 +60,8 @@ struct TransformFeedbackVarying { | |||
| 59 | 60 | ||
| 60 | struct RuntimeInfo { | 61 | struct RuntimeInfo { |
| 61 | std::array<AttributeType, 32> generic_input_types{}; | 62 | std::array<AttributeType, 32> generic_input_types{}; |
| 63 | std::bitset<32> previous_stage_stores_generic{}; | ||
| 64 | |||
| 62 | bool convert_depth_mode{}; | 65 | bool convert_depth_mode{}; |
| 63 | bool force_early_z{}; | 66 | bool force_early_z{}; |
| 64 | 67 | ||
| @@ -72,11 +75,12 @@ struct RuntimeInfo { | |||
| 72 | std::optional<CompareFunction> alpha_test_func; | 75 | std::optional<CompareFunction> alpha_test_func; |
| 73 | float alpha_test_reference{}; | 76 | float alpha_test_reference{}; |
| 74 | 77 | ||
| 75 | // Static y negate value | 78 | /// Static Y negate value |
| 76 | bool y_negate{}; | 79 | bool y_negate{}; |
| 77 | // Use storage buffers instead of global pointers on GLASM | 80 | /// Use storage buffers instead of global pointers on GLASM |
| 78 | bool glasm_use_storage_buffers{}; | 81 | bool glasm_use_storage_buffers{}; |
| 79 | 82 | ||
| 83 | /// Transform feedback state for each varying | ||
| 80 | std::vector<TransformFeedbackVarying> xfb_varyings; | 84 | std::vector<TransformFeedbackVarying> xfb_varyings; |
| 81 | }; | 85 | }; |
| 82 | 86 | ||