summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glsl/var_alloc.h
diff options
context:
space:
mode:
authorGravatar ameerj2021-05-30 22:44:28 -0400
committerGravatar ameerj2021-07-22 21:51:37 -0400
commite10366974edd7c75111d0bef16daf941db9e9a30 (patch)
treee7e986cc5f7184dba92ac2e6325ac3948111f08d /src/shader_recompiler/backend/glsl/var_alloc.h
parentHACK glsl: Write defaults to unused generic attributes (diff)
downloadyuzu-e10366974edd7c75111d0bef16daf941db9e9a30.tar.gz
yuzu-e10366974edd7c75111d0bef16daf941db9e9a30.tar.xz
yuzu-e10366974edd7c75111d0bef16daf941db9e9a30.zip
glsl: Implement precise fp variable allocation
Diffstat (limited to 'src/shader_recompiler/backend/glsl/var_alloc.h')
-rw-r--r--src/shader_recompiler/backend/glsl/var_alloc.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/shader_recompiler/backend/glsl/var_alloc.h b/src/shader_recompiler/backend/glsl/var_alloc.h
index 574960b1a..be21a87ea 100644
--- a/src/shader_recompiler/backend/glsl/var_alloc.h
+++ b/src/shader_recompiler/backend/glsl/var_alloc.h
@@ -33,6 +33,8 @@ enum class GlslVarType : u32 {
33 F32x3, 33 F32x3,
34 U32x4, 34 U32x4,
35 F32x4, 35 F32x4,
36 PrecF32,
37 PrecF64,
36 Void, 38 Void,
37}; 39};
38 40
@@ -40,8 +42,8 @@ struct Id {
40 union { 42 union {
41 u32 raw; 43 u32 raw;
42 BitField<0, 1, u32> is_valid; 44 BitField<0, 1, u32> is_valid;
43 BitField<1, 4, GlslVarType> type; 45 BitField<1, 5, GlslVarType> type;
44 BitField<5, 27, u32> index; 46 BitField<6, 26, u32> index;
45 }; 47 };
46 48
47 bool operator==(Id rhs) const noexcept { 49 bool operator==(Id rhs) const noexcept {
@@ -101,6 +103,8 @@ private:
101 UseTracker var_u64{}; 103 UseTracker var_u64{};
102 UseTracker var_s64{}; 104 UseTracker var_s64{};
103 UseTracker var_f64{}; 105 UseTracker var_f64{};
106 UseTracker var_precf32{};
107 UseTracker var_precf64{};
104}; 108};
105 109
106} // namespace Shader::Backend::GLSL 110} // namespace Shader::Backend::GLSL