summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/runtime_info.h
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-06-16 04:59:30 -0300
committerGravatar ameerj2021-07-22 21:51:38 -0400
commit374eeda1a35f6a1dc81cf22122c701be68e89c0f (patch)
tree1155e56fffab693fe2c66ca38e6a435562c21b6d /src/shader_recompiler/runtime_info.h
parentglsl: Only declare fragment outputs on fragment shaders (diff)
downloadyuzu-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.h8
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
60struct RuntimeInfo { 61struct 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