diff options
| author | 2020-04-16 21:12:33 -0400 | |
|---|---|---|
| committer | 2020-04-16 21:12:33 -0400 | |
| commit | 79c1269f0fd25e8aaf090cd1f4640a52237a3fd3 (patch) | |
| tree | cef3d04b0e14887bbcb6b021d42e2420ae1588a4 /src/video_core/shader/decode | |
| parent | Merge pull request #3600 from ReinUsesLisp/no-pointer-buf-cache (diff) | |
| parent | CMakeLists: Specify -Wextra on linux builds (diff) | |
| download | yuzu-79c1269f0fd25e8aaf090cd1f4640a52237a3fd3.tar.gz yuzu-79c1269f0fd25e8aaf090cd1f4640a52237a3fd3.tar.xz yuzu-79c1269f0fd25e8aaf090cd1f4640a52237a3fd3.zip | |
Merge pull request #3673 from lioncash/extra
CMakeLists: Specify -Wextra on linux builds
Diffstat (limited to 'src/video_core/shader/decode')
| -rw-r--r-- | src/video_core/shader/decode/image.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/video_core/shader/decode/image.cpp b/src/video_core/shader/decode/image.cpp index 0dd7a1196..85ee9aa5e 100644 --- a/src/video_core/shader/decode/image.cpp +++ b/src/video_core/shader/decode/image.cpp | |||
| @@ -352,8 +352,10 @@ u32 ShaderIR::DecodeImage(NodeBlock& bb, u32 pc) { | |||
| 352 | registry.ObtainBoundSampler(static_cast<u32>(instr.image.index.Value())); | 352 | registry.ObtainBoundSampler(static_cast<u32>(instr.image.index.Value())); |
| 353 | } else { | 353 | } else { |
| 354 | const Node image_register = GetRegister(instr.gpr39); | 354 | const Node image_register = GetRegister(instr.gpr39); |
| 355 | const auto [base_image, buffer, offset] = TrackCbuf( | 355 | const auto result = TrackCbuf(image_register, global_code, |
| 356 | image_register, global_code, static_cast<s64>(global_code.size())); | 356 | static_cast<s64>(global_code.size())); |
| 357 | const auto buffer = std::get<1>(result); | ||
| 358 | const auto offset = std::get<2>(result); | ||
| 357 | descriptor = registry.ObtainBindlessSampler(buffer, offset); | 359 | descriptor = registry.ObtainBindlessSampler(buffer, offset); |
| 358 | } | 360 | } |
| 359 | if (!descriptor) { | 361 | if (!descriptor) { |
| @@ -497,9 +499,12 @@ Image& ShaderIR::GetImage(Tegra::Shader::Image image, Tegra::Shader::ImageType t | |||
| 497 | 499 | ||
| 498 | Image& ShaderIR::GetBindlessImage(Tegra::Shader::Register reg, Tegra::Shader::ImageType type) { | 500 | Image& ShaderIR::GetBindlessImage(Tegra::Shader::Register reg, Tegra::Shader::ImageType type) { |
| 499 | const Node image_register = GetRegister(reg); | 501 | const Node image_register = GetRegister(reg); |
| 500 | const auto [base_image, buffer, offset] = | 502 | const auto result = |
| 501 | TrackCbuf(image_register, global_code, static_cast<s64>(global_code.size())); | 503 | TrackCbuf(image_register, global_code, static_cast<s64>(global_code.size())); |
| 502 | 504 | ||
| 505 | const auto buffer = std::get<1>(result); | ||
| 506 | const auto offset = std::get<2>(result); | ||
| 507 | |||
| 503 | const auto it = | 508 | const auto it = |
| 504 | std::find_if(std::begin(used_images), std::end(used_images), | 509 | std::find_if(std::begin(used_images), std::end(used_images), |
| 505 | [buffer = buffer, offset = offset](const Image& entry) { | 510 | [buffer = buffer, offset = offset](const Image& entry) { |