diff options
author | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-05-28 13:54:09 -0400 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-22 21:51:36 -0400 |
commit | f6bbc76336942454a862280e5b2158ceab49a173 (patch) | |
tree | b81e925154bfa7dbbd1aedc50d167fa87905b3db /src/shader_recompiler/backend/glsl/reg_alloc.h | |
parent | 2a713337165df4d5c4228458999a680e9ab65369 (diff) |
glsl: WIP var forward declaration
to fix Loop control flow.
Diffstat (limited to 'src/shader_recompiler/backend/glsl/reg_alloc.h')
-rw-r--r-- | src/shader_recompiler/backend/glsl/reg_alloc.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/shader_recompiler/backend/glsl/reg_alloc.h b/src/shader_recompiler/backend/glsl/reg_alloc.h index 2dc506c58a..6c293f9d1e 100644 --- a/src/shader_recompiler/backend/glsl/reg_alloc.h +++ b/src/shader_recompiler/backend/glsl/reg_alloc.h @@ -5,6 +5,7 @@ #pragma once #include <bitset> +#include <vector> #include "common/bit_field.h" #include "common/common_types.h" @@ -61,19 +62,21 @@ public: std::string Define(IR::Inst& inst, IR::Type type); std::string Consume(const IR::Value& value); + std::string Consume(IR::Inst& inst); + std::string GetGlslType(Type type); std::string GetGlslType(IR::Type type); + size_t num_used_registers{}; + std::vector<std::string> reg_types; + private: static constexpr size_t NUM_REGS = 4096; - static constexpr size_t NUM_ELEMENTS = 4; - std::string Consume(IR::Inst& inst); Type RegType(IR::Type type); Id Alloc(); void Free(Id id); - size_t num_used_registers{}; std::bitset<NUM_REGS> register_use{}; std::bitset<NUM_REGS> register_defined{}; }; |