summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2019-06-08 11:25:11 -0400
committerGravatar ReinUsesLisp2019-06-20 21:38:34 -0300
commitb7de31ac97da9ac80be9f93180a934874b547b0e (patch)
treeae673b531514a4eb2fcc16cf71e9aa11fb660a68 /src
parenttexture_cache: Don't Image Copy if component types differ (diff)
downloadyuzu-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.cpp9
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
12namespace VideoCommon::Shader { 17namespace 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)};