aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/runtime_info.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-06-16 04:59:30 -0300
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-22 21:51:38 -0400
commit374eeda1a35f6a1dc81cf22122c701be68e89c0f (patch)
tree1155e56fffab693fe2c66ca38e6a435562c21b6d /src/shader_recompiler/runtime_info.h
parent892b8aa2adbadf1935aa5e9d87abbc686702cb2c (diff)
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 d4b047b4d4..63fe2afafc 100644
--- a/src/shader_recompiler/runtime_info.h
+++ b/src/shader_recompiler/runtime_info.h
@@ -5,6 +5,7 @@
#pragma once
#include <array>
+#include <bitset>
#include <optional>
#include <vector>
@@ -59,6 +60,8 @@ struct TransformFeedbackVarying {
struct RuntimeInfo {
std::array<AttributeType, 32> generic_input_types{};
+ std::bitset<32> previous_stage_stores_generic{};
+
bool convert_depth_mode{};
bool force_early_z{};
@@ -72,11 +75,12 @@ struct RuntimeInfo {
std::optional<CompareFunction> alpha_test_func;
float alpha_test_reference{};
- // Static y negate value
+ /// Static Y negate value
bool y_negate{};
- // Use storage buffers instead of global pointers on GLASM
+ /// Use storage buffers instead of global pointers on GLASM
bool glasm_use_storage_buffers{};
+ /// Transform feedback state for each varying
std::vector<TransformFeedbackVarying> xfb_varyings;
};