diff options
| author | 2021-05-15 18:15:13 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:31 -0400 | |
| commit | 31d402ee74d7f7045aec7e748fdee489a434db6b (patch) | |
| tree | 2cc89d8b24d856e2af92be0a1a1948329b92dd01 /src/shader_recompiler/backend/glasm/reg_alloc.h | |
| parent | glasm: Add graphics specific shader declarations to GLASM (diff) | |
| download | yuzu-31d402ee74d7f7045aec7e748fdee489a434db6b.tar.gz yuzu-31d402ee74d7f7045aec7e748fdee489a434db6b.tar.xz yuzu-31d402ee74d7f7045aec7e748fdee489a434db6b.zip | |
glasm: Add Void type to GLASM values
Diffstat (limited to 'src/shader_recompiler/backend/glasm/reg_alloc.h')
| -rw-r--r-- | src/shader_recompiler/backend/glasm/reg_alloc.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/glasm/reg_alloc.h b/src/shader_recompiler/backend/glasm/reg_alloc.h index 5742436cf..ede6edd1f 100644 --- a/src/shader_recompiler/backend/glasm/reg_alloc.h +++ b/src/shader_recompiler/backend/glasm/reg_alloc.h | |||
| @@ -23,6 +23,7 @@ namespace Shader::Backend::GLASM { | |||
| 23 | class EmitContext; | 23 | class EmitContext; |
| 24 | 24 | ||
| 25 | enum class Type : u32 { | 25 | enum class Type : u32 { |
| 26 | Void, | ||
| 26 | Register, | 27 | Register, |
| 27 | U32, | 28 | U32, |
| 28 | S32, | 29 | S32, |
| @@ -65,6 +66,8 @@ struct Value { | |||
| 65 | return false; | 66 | return false; |
| 66 | } | 67 | } |
| 67 | switch (type) { | 68 | switch (type) { |
| 69 | case Type::Void: | ||
| 70 | return true; | ||
| 68 | case Type::Register: | 71 | case Type::Register: |
| 69 | return id == rhs.id; | 72 | return id == rhs.id; |
| 70 | case Type::U32: | 73 | case Type::U32: |
| @@ -218,6 +221,8 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarU32> { | |||
| 218 | template <typename FormatContext> | 221 | template <typename FormatContext> |
| 219 | auto format(const Shader::Backend::GLASM::ScalarU32& value, FormatContext& ctx) { | 222 | auto format(const Shader::Backend::GLASM::ScalarU32& value, FormatContext& ctx) { |
| 220 | switch (value.type) { | 223 | switch (value.type) { |
| 224 | case Shader::Backend::GLASM::Type::Void: | ||
| 225 | break; | ||
| 221 | case Shader::Backend::GLASM::Type::Register: | 226 | case Shader::Backend::GLASM::Type::Register: |
| 222 | return Shader::Backend::GLASM::FormatTo<true>(ctx, value.id); | 227 | return Shader::Backend::GLASM::FormatTo<true>(ctx, value.id); |
| 223 | case Shader::Backend::GLASM::Type::U32: | 228 | case Shader::Backend::GLASM::Type::U32: |
| @@ -242,6 +247,8 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarS32> { | |||
| 242 | template <typename FormatContext> | 247 | template <typename FormatContext> |
| 243 | auto format(const Shader::Backend::GLASM::ScalarS32& value, FormatContext& ctx) { | 248 | auto format(const Shader::Backend::GLASM::ScalarS32& value, FormatContext& ctx) { |
| 244 | switch (value.type) { | 249 | switch (value.type) { |
| 250 | case Shader::Backend::GLASM::Type::Void: | ||
| 251 | break; | ||
| 245 | case Shader::Backend::GLASM::Type::Register: | 252 | case Shader::Backend::GLASM::Type::Register: |
| 246 | return Shader::Backend::GLASM::FormatTo<true>(ctx, value.id); | 253 | return Shader::Backend::GLASM::FormatTo<true>(ctx, value.id); |
| 247 | case Shader::Backend::GLASM::Type::U32: | 254 | case Shader::Backend::GLASM::Type::U32: |
| @@ -266,6 +273,8 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarF32> { | |||
| 266 | template <typename FormatContext> | 273 | template <typename FormatContext> |
| 267 | auto format(const Shader::Backend::GLASM::ScalarF32& value, FormatContext& ctx) { | 274 | auto format(const Shader::Backend::GLASM::ScalarF32& value, FormatContext& ctx) { |
| 268 | switch (value.type) { | 275 | switch (value.type) { |
| 276 | case Shader::Backend::GLASM::Type::Void: | ||
| 277 | break; | ||
| 269 | case Shader::Backend::GLASM::Type::Register: | 278 | case Shader::Backend::GLASM::Type::Register: |
| 270 | return Shader::Backend::GLASM::FormatTo<true>(ctx, value.id); | 279 | return Shader::Backend::GLASM::FormatTo<true>(ctx, value.id); |
| 271 | case Shader::Backend::GLASM::Type::U32: | 280 | case Shader::Backend::GLASM::Type::U32: |
| @@ -290,6 +299,8 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarF64> { | |||
| 290 | template <typename FormatContext> | 299 | template <typename FormatContext> |
| 291 | auto format(const Shader::Backend::GLASM::ScalarF64& value, FormatContext& ctx) { | 300 | auto format(const Shader::Backend::GLASM::ScalarF64& value, FormatContext& ctx) { |
| 292 | switch (value.type) { | 301 | switch (value.type) { |
| 302 | case Shader::Backend::GLASM::Type::Void: | ||
| 303 | break; | ||
| 293 | case Shader::Backend::GLASM::Type::Register: | 304 | case Shader::Backend::GLASM::Type::Register: |
| 294 | return Shader::Backend::GLASM::FormatTo<true>(ctx, value.id); | 305 | return Shader::Backend::GLASM::FormatTo<true>(ctx, value.id); |
| 295 | case Shader::Backend::GLASM::Type::U32: | 306 | case Shader::Backend::GLASM::Type::U32: |