diff options
| author | 2019-06-08 11:25:11 -0400 | |
|---|---|---|
| committer | 2019-06-20 21:38:34 -0300 | |
| commit | b7de31ac97da9ac80be9f93180a934874b547b0e (patch) | |
| tree | ae673b531514a4eb2fcc16cf71e9aa11fb660a68 /src | |
| parent | texture_cache: Don't Image Copy if component types differ (diff) | |
| download | yuzu-b7de31ac97da9ac80be9f93180a934874b547b0e.tar.gz yuzu-b7de31ac97da9ac80be9f93180a934874b547b0e.tar.xz yuzu-b7de31ac97da9ac80be9f93180a934874b547b0e.zip | |
shader_ir: Fix image copy rebase issues
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/shader/decode/image.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/video_core/shader/decode/image.cpp b/src/video_core/shader/decode/image.cpp index 199b6b793..24f022cc0 100644 --- a/src/video_core/shader/decode/image.cpp +++ b/src/video_core/shader/decode/image.cpp | |||
| @@ -3,10 +3,15 @@ | |||
| 3 | // Refer to the license.txt file included. | 3 | // Refer to the license.txt file included. |
| 4 | 4 | ||
| 5 | #include <algorithm> | 5 | #include <algorithm> |
| 6 | #include <vector> | ||
| 7 | #include <fmt/format.h> | ||
| 6 | 8 | ||
| 7 | #include "common/assert.h" | 9 | #include "common/assert.h" |
| 10 | #include "common/bit_field.h" | ||
| 8 | #include "common/common_types.h" | 11 | #include "common/common_types.h" |
| 12 | #include "common/logging/log.h" | ||
| 9 | #include "video_core/engines/shader_bytecode.h" | 13 | #include "video_core/engines/shader_bytecode.h" |
| 14 | #include "video_core/shader/node_helper.h" | ||
| 10 | #include "video_core/shader/shader_ir.h" | 15 | #include "video_core/shader/shader_ir.h" |
| 11 | 16 | ||
| 12 | namespace VideoCommon::Shader { | 17 | namespace VideoCommon::Shader { |
| @@ -92,8 +97,8 @@ const Image& ShaderIR::GetBindlessImage(Tegra::Shader::Register reg, | |||
| 92 | const Node image_register{GetRegister(reg)}; | 97 | const Node image_register{GetRegister(reg)}; |
| 93 | const Node base_image{ | 98 | const Node base_image{ |
| 94 | TrackCbuf(image_register, global_code, static_cast<s64>(global_code.size()))}; | 99 | TrackCbuf(image_register, global_code, static_cast<s64>(global_code.size()))}; |
| 95 | const auto cbuf{std::get_if<CbufNode>(base_image)}; | 100 | const auto cbuf{std::get_if<CbufNode>(&*base_image)}; |
| 96 | const auto cbuf_offset_imm{std::get_if<ImmediateNode>(cbuf->GetOffset())}; | 101 | const auto cbuf_offset_imm{std::get_if<ImmediateNode>(&*cbuf->GetOffset())}; |
| 97 | const auto cbuf_offset{cbuf_offset_imm->GetValue()}; | 102 | const auto cbuf_offset{cbuf_offset_imm->GetValue()}; |
| 98 | const auto cbuf_index{cbuf->GetIndex()}; | 103 | const auto cbuf_index{cbuf->GetIndex()}; |
| 99 | const auto cbuf_key{(static_cast<u64>(cbuf_index) << 32) | static_cast<u64>(cbuf_offset)}; | 104 | const auto cbuf_key{(static_cast<u64>(cbuf_index) << 32) | static_cast<u64>(cbuf_offset)}; |