aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/shader/decode/image.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2019-07-16 14:58:35 -0400
committerGitHub <noreply@github.com>2019-07-16 14:58:35 -0400
commitb56e7f870add41d0300745342d24315e8fa3f881 (patch)
tree13f920af2c14ab8ae89bb3d9751c885c60789c03 /src/video_core/shader/decode/image.cpp
parent1bdb59fc6e52ac9d2c2432511fe7524994cc4f55 (diff)
parentafa8096df5e3c24cb3b639a7fbc65f7225a17137 (diff)
Merge pull request #2565 from ReinUsesLisp/track-indirect
shader/track: Track indirect buffers
Diffstat (limited to 'src/video_core/shader/decode/image.cpp')
-rw-r--r--src/video_core/shader/decode/image.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/video_core/shader/decode/image.cpp b/src/video_core/shader/decode/image.cpp
index 24f022cc0..77151a24b 100644
--- a/src/video_core/shader/decode/image.cpp
+++ b/src/video_core/shader/decode/image.cpp
@@ -95,12 +95,8 @@ const Image& ShaderIR::GetImage(Tegra::Shader::Image image, Tegra::Shader::Image
const Image& ShaderIR::GetBindlessImage(Tegra::Shader::Register reg,
Tegra::Shader::ImageType type) {
const Node image_register{GetRegister(reg)};
- const Node base_image{
+ const auto [base_image, cbuf_index, cbuf_offset]{
TrackCbuf(image_register, global_code, static_cast<s64>(global_code.size()))};
- const auto cbuf{std::get_if<CbufNode>(&*base_image)};
- const auto cbuf_offset_imm{std::get_if<ImmediateNode>(&*cbuf->GetOffset())};
- const auto cbuf_offset{cbuf_offset_imm->GetValue()};
- const auto cbuf_index{cbuf->GetIndex()};
const auto cbuf_key{(static_cast<u64>(cbuf_index) << 32) | static_cast<u64>(cbuf_offset)};
// If this image has already been used, return the existing mapping.