summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/shader_info.h
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-03-27 04:59:58 -0300
committerGravatar ameerj2021-07-22 21:51:24 -0400
commitdbd882ddeb1a1a9233c0085d0b8ccb022db385b2 (patch)
tree5a8456364cc41a0a53acf93e22e3f9ce855bd413 /src/shader_recompiler/shader_info.h
parentspirv: Remove dependencies on Environment when generating SPIR-V (diff)
downloadyuzu-dbd882ddeb1a1a9233c0085d0b8ccb022db385b2.tar.gz
yuzu-dbd882ddeb1a1a9233c0085d0b8ccb022db385b2.tar.xz
yuzu-dbd882ddeb1a1a9233c0085d0b8ccb022db385b2.zip
shader: Better interpolation and disabled attributes support
Diffstat (limited to 'src/shader_recompiler/shader_info.h')
-rw-r--r--src/shader_recompiler/shader_info.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/shader_recompiler/shader_info.h b/src/shader_recompiler/shader_info.h
index 8ab66bb2a..9111159f3 100644
--- a/src/shader_recompiler/shader_info.h
+++ b/src/shader_recompiler/shader_info.h
@@ -31,6 +31,17 @@ enum class TextureType : u32 {
31 ShadowArrayCube, 31 ShadowArrayCube,
32}; 32};
33 33
34enum class Interpolation {
35 Smooth,
36 Flat,
37 NoPerspective,
38};
39
40struct InputVarying {
41 Interpolation interpolation{Interpolation::Smooth};
42 bool used{false};
43};
44
34struct TextureDescriptor { 45struct TextureDescriptor {
35 TextureType type; 46 TextureType type;
36 u32 cbuf_index; 47 u32 cbuf_index;
@@ -58,7 +69,7 @@ struct Info {
58 bool uses_local_invocation_id{}; 69 bool uses_local_invocation_id{};
59 bool uses_subgroup_invocation_id{}; 70 bool uses_subgroup_invocation_id{};
60 71
61 std::array<bool, 32> loads_generics{}; 72 std::array<InputVarying, 32> input_generics{};
62 bool loads_position{}; 73 bool loads_position{};
63 bool loads_instance_id{}; 74 bool loads_instance_id{};
64 bool loads_vertex_id{}; 75 bool loads_vertex_id{};