summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/shader_info.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-06-24 07:41:09 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:39 +0200
commit7dafa96ab59892b7f1fbffdb61e4326e6443955f (patch)
tree5ab58d56860db635542ea1ec24be258bd86b40b9 /src/shader_recompiler/shader_info.h
parentvk_graphics_pipeline: Implement conservative rendering (diff)
downloadyuzu-7dafa96ab59892b7f1fbffdb61e4326e6443955f.tar
yuzu-7dafa96ab59892b7f1fbffdb61e4326e6443955f.tar.gz
yuzu-7dafa96ab59892b7f1fbffdb61e4326e6443955f.tar.bz2
yuzu-7dafa96ab59892b7f1fbffdb61e4326e6443955f.tar.lz
yuzu-7dafa96ab59892b7f1fbffdb61e4326e6443955f.tar.xz
yuzu-7dafa96ab59892b7f1fbffdb61e4326e6443955f.tar.zst
yuzu-7dafa96ab59892b7f1fbffdb61e4326e6443955f.zip
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/shader_info.h37
1 files changed, 5 insertions, 32 deletions
diff --git a/src/shader_recompiler/shader_info.h b/src/shader_recompiler/shader_info.h
index a20e15d2e..4ef4dbd40 100644
--- a/src/shader_recompiler/shader_info.h
+++ b/src/shader_recompiler/shader_info.h
@@ -9,6 +9,7 @@
#include "common/common_types.h"
#include "shader_recompiler/frontend/ir/type.h"
+#include "shader_recompiler/varying_state.h"
#include <boost/container/small_vector.hpp>
#include <boost/container/static_vector.hpp>
@@ -44,11 +45,6 @@ enum class Interpolation {
NoPerspective,
};
-struct InputVarying {
- Interpolation interpolation{Interpolation::Smooth};
- bool used{false};
-};
-
struct ConstantBufferDescriptor {
u32 index;
u32 count;
@@ -121,18 +117,10 @@ struct Info {
bool uses_subgroup_shuffles{};
std::array<bool, 30> uses_patches{};
- std::array<InputVarying, 32> input_generics{};
- bool loads_primitive_id{};
- bool loads_position{};
- bool loads_color_front_diffuse{};
- bool loads_fixed_fnc_textures{};
- bool loads_point_coord{};
- bool loads_instance_id{};
- bool loads_vertex_id{};
- bool loads_front_face{};
- bool loads_legacy_varyings{};
-
- bool loads_tess_coord{};
+ std::array<Interpolation, 32> interpolation{};
+ VaryingState loads;
+ VaryingState stores;
+ VaryingState passthrough;
bool loads_indexed_attributes{};
@@ -140,21 +128,6 @@ struct Info {
bool stores_sample_mask{};
bool stores_frag_depth{};
- std::bitset<32> stores_generics{};
- bool stores_layer{};
- bool stores_viewport_index{};
- bool stores_point_size{};
- bool stores_position{};
- bool stores_color_front_diffuse{};
- bool stores_color_front_specular{};
- bool stores_color_back_diffuse{};
- bool stores_color_back_specular{};
- bool stores_fixed_fnc_textures{};
- bool stores_clip_distance{};
- bool stores_fog_coordinate{};
- bool stores_viewport_mask{};
- bool stores_legacy_varyings{};
-
bool stores_tess_level_outer{};
bool stores_tess_level_inner{};