summaryrefslogtreecommitdiff
path: root/src/video_core
diff options
context:
space:
mode:
authorGravatar Lioncash2020-12-05 04:51:14 -0500
committerGravatar Lioncash2020-12-05 06:39:35 -0500
commit414a87a4f4570344140d77a7985b4d118b754341 (patch)
tree6eac8e13f3333c89d8c0f3428b8664cab63a484a /src/video_core
parentMerge pull request #5124 from lioncash/video-shadow (diff)
downloadyuzu-414a87a4f4570344140d77a7985b4d118b754341.tar.gz
yuzu-414a87a4f4570344140d77a7985b4d118b754341.tar.xz
yuzu-414a87a4f4570344140d77a7985b4d118b754341.zip
video_core: Resolve more variable shadowing scenarios pt.2
Migrates the video core code closer to enabling variable shadowing warnings as errors. This primarily sorts out shadowing occurrences within the Vulkan code.
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/command_classes/codecs/vp9.cpp40
-rw-r--r--src/video_core/renderer_vulkan/renderer_vulkan.cpp4
-rw-r--r--src/video_core/renderer_vulkan/renderer_vulkan.h6
-rw-r--r--src/video_core/renderer_vulkan/vk_compute_pass.cpp40
-rw-r--r--src/video_core/renderer_vulkan/vk_compute_pass.h23
-rw-r--r--src/video_core/renderer_vulkan/vk_compute_pipeline.cpp16
-rw-r--r--src/video_core/renderer_vulkan/vk_compute_pipeline.h8
-rw-r--r--src/video_core/renderer_vulkan/vk_device.cpp16
-rw-r--r--src/video_core/renderer_vulkan/vk_fence_manager.cpp22
-rw-r--r--src/video_core/renderer_vulkan/vk_fence_manager.h16
-rw-r--r--src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp38
-rw-r--r--src/video_core/renderer_vulkan/vk_graphics_pipeline.h14
-rw-r--r--src/video_core/renderer_vulkan/vk_image.cpp14
-rw-r--r--src/video_core/renderer_vulkan/vk_image.h4
-rw-r--r--src/video_core/renderer_vulkan/vk_memory_manager.cpp18
-rw-r--r--src/video_core/renderer_vulkan/vk_memory_manager.h10
-rw-r--r--src/video_core/renderer_vulkan/vk_query_cache.cpp30
-rw-r--r--src/video_core/renderer_vulkan/vk_query_cache.h10
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp17
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.h12
-rw-r--r--src/video_core/renderer_vulkan/vk_renderpass_cache.cpp2
-rw-r--r--src/video_core/renderer_vulkan/vk_renderpass_cache.h2
-rw-r--r--src/video_core/renderer_vulkan/vk_sampler_cache.cpp2
-rw-r--r--src/video_core/renderer_vulkan/vk_sampler_cache.h2
-rw-r--r--src/video_core/renderer_vulkan/vk_scheduler.h2
-rw-r--r--src/video_core/renderer_vulkan/vk_shader_decompiler.cpp28
-rw-r--r--src/video_core/renderer_vulkan/vk_shader_decompiler.h8
-rw-r--r--src/video_core/renderer_vulkan/vk_texture_cache.cpp61
-rw-r--r--src/video_core/renderer_vulkan/vk_texture_cache.h18
-rw-r--r--src/video_core/renderer_vulkan/vk_update_descriptor.cpp4
-rw-r--r--src/video_core/renderer_vulkan/vk_update_descriptor.h2
-rw-r--r--src/video_core/renderer_vulkan/wrapper.cpp16
-rw-r--r--src/video_core/renderer_vulkan/wrapper.h25
-rw-r--r--src/video_core/shader/control_flow.cpp6
-rw-r--r--src/video_core/shader/decode/image.cpp10
-rw-r--r--src/video_core/shader/decode/other.cpp10
-rw-r--r--src/video_core/texture_cache/surface_base.cpp27
-rw-r--r--src/video_core/texture_cache/surface_base.h4
-rw-r--r--src/video_core/texture_cache/surface_params.cpp14
39 files changed, 305 insertions, 296 deletions
diff --git a/src/video_core/command_classes/codecs/vp9.cpp b/src/video_core/command_classes/codecs/vp9.cpp
index 1771bc939..59e586695 100644
--- a/src/video_core/command_classes/codecs/vp9.cpp
+++ b/src/video_core/command_classes/codecs/vp9.cpp
@@ -374,43 +374,43 @@ void VP9::InsertEntropy(u64 offset, Vp9EntropyProbs& dst) {
374} 374}
375 375
376Vp9FrameContainer VP9::GetCurrentFrame(const NvdecCommon::NvdecRegisters& state) { 376Vp9FrameContainer VP9::GetCurrentFrame(const NvdecCommon::NvdecRegisters& state) {
377 Vp9FrameContainer frame{}; 377 Vp9FrameContainer current_frame{};
378 { 378 {
379 gpu.SyncGuestHost(); 379 gpu.SyncGuestHost();
380 frame.info = GetVp9PictureInfo(state); 380 current_frame.info = GetVp9PictureInfo(state);
381 frame.bit_stream.resize(frame.info.bitstream_size); 381 current_frame.bit_stream.resize(current_frame.info.bitstream_size);
382 gpu.MemoryManager().ReadBlock(state.frame_bitstream_offset, frame.bit_stream.data(), 382 gpu.MemoryManager().ReadBlock(state.frame_bitstream_offset, current_frame.bit_stream.data(),
383 frame.info.bitstream_size); 383 current_frame.info.bitstream_size);
384 } 384 }
385 // Buffer two frames, saving the last show frame info 385 // Buffer two frames, saving the last show frame info
386 if (!next_next_frame.bit_stream.empty()) { 386 if (!next_next_frame.bit_stream.empty()) {
387 Vp9FrameContainer temp{ 387 Vp9FrameContainer temp{
388 .info = frame.info, 388 .info = current_frame.info,
389 .bit_stream = std::move(frame.bit_stream), 389 .bit_stream = std::move(current_frame.bit_stream),
390 }; 390 };
391 next_next_frame.info.show_frame = frame.info.last_frame_shown; 391 next_next_frame.info.show_frame = current_frame.info.last_frame_shown;
392 frame.info = next_next_frame.info; 392 current_frame.info = next_next_frame.info;
393 frame.bit_stream = std::move(next_next_frame.bit_stream); 393 current_frame.bit_stream = std::move(next_next_frame.bit_stream);
394 next_next_frame = std::move(temp); 394 next_next_frame = std::move(temp);
395 395
396 if (!next_frame.bit_stream.empty()) { 396 if (!next_frame.bit_stream.empty()) {
397 Vp9FrameContainer temp2{ 397 Vp9FrameContainer temp2{
398 .info = frame.info, 398 .info = current_frame.info,
399 .bit_stream = std::move(frame.bit_stream), 399 .bit_stream = std::move(current_frame.bit_stream),
400 }; 400 };
401 next_frame.info.show_frame = frame.info.last_frame_shown; 401 next_frame.info.show_frame = current_frame.info.last_frame_shown;
402 frame.info = next_frame.info; 402 current_frame.info = next_frame.info;
403 frame.bit_stream = std::move(next_frame.bit_stream); 403 current_frame.bit_stream = std::move(next_frame.bit_stream);
404 next_frame = std::move(temp2); 404 next_frame = std::move(temp2);
405 } else { 405 } else {
406 next_frame.info = frame.info; 406 next_frame.info = current_frame.info;
407 next_frame.bit_stream = std::move(frame.bit_stream); 407 next_frame.bit_stream = std::move(current_frame.bit_stream);
408 } 408 }
409 } else { 409 } else {
410 next_next_frame.info = frame.info; 410 next_next_frame.info = current_frame.info;
411 next_next_frame.bit_stream = std::move(frame.bit_stream); 411 next_next_frame.bit_stream = std::move(current_frame.bit_stream);
412 } 412 }
413 return frame; 413 return current_frame;
414} 414}
415 415
416std::vector<u8> VP9::ComposeCompressedHeader() { 416std::vector<u8> VP9::ComposeCompressedHeader() {
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
index a2173edd2..ea4b7c1e6 100644
--- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp
+++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
@@ -243,8 +243,8 @@ std::string BuildCommaSeparatedExtensions(std::vector<std::string> available_ext
243RendererVulkan::RendererVulkan(Core::TelemetrySession& telemetry_session_, 243RendererVulkan::RendererVulkan(Core::TelemetrySession& telemetry_session_,
244 Core::Frontend::EmuWindow& emu_window, 244 Core::Frontend::EmuWindow& emu_window,
245 Core::Memory::Memory& cpu_memory_, Tegra::GPU& gpu_, 245 Core::Memory::Memory& cpu_memory_, Tegra::GPU& gpu_,
246 std::unique_ptr<Core::Frontend::GraphicsContext> context) 246 std::unique_ptr<Core::Frontend::GraphicsContext> context_)
247 : RendererBase{emu_window, std::move(context)}, telemetry_session{telemetry_session_}, 247 : RendererBase{emu_window, std::move(context_)}, telemetry_session{telemetry_session_},
248 cpu_memory{cpu_memory_}, gpu{gpu_} {} 248 cpu_memory{cpu_memory_}, gpu{gpu_} {}
249 249
250RendererVulkan::~RendererVulkan() { 250RendererVulkan::~RendererVulkan() {
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.h b/src/video_core/renderer_vulkan/renderer_vulkan.h
index 1044ca124..977b86003 100644
--- a/src/video_core/renderer_vulkan/renderer_vulkan.h
+++ b/src/video_core/renderer_vulkan/renderer_vulkan.h
@@ -45,9 +45,9 @@ struct VKScreenInfo {
45class RendererVulkan final : public VideoCore::RendererBase { 45class RendererVulkan final : public VideoCore::RendererBase {
46public: 46public:
47 explicit RendererVulkan(Core::TelemetrySession& telemtry_session, 47 explicit RendererVulkan(Core::TelemetrySession& telemtry_session,
48 Core::Frontend::EmuWindow& emu_window, Core::Memory::Memory& cpu_memory, 48 Core::Frontend::EmuWindow& emu_window,
49 Tegra::GPU& gpu, 49 Core::Memory::Memory& cpu_memory_, Tegra::GPU& gpu_,
50 std::unique_ptr<Core::Frontend::GraphicsContext> context); 50 std::unique_ptr<Core::Frontend::GraphicsContext> context_);
51 ~RendererVulkan() override; 51 ~RendererVulkan() override;
52 52
53 bool Init() override; 53 bool Init() override;
diff --git a/src/video_core/renderer_vulkan/vk_compute_pass.cpp b/src/video_core/renderer_vulkan/vk_compute_pass.cpp
index 9637c6059..1ac7e2a30 100644
--- a/src/video_core/renderer_vulkan/vk_compute_pass.cpp
+++ b/src/video_core/renderer_vulkan/vk_compute_pass.cpp
@@ -461,15 +461,15 @@ VkDescriptorSet VKComputePass::CommitDescriptorSet(
461 return set; 461 return set;
462} 462}
463 463
464QuadArrayPass::QuadArrayPass(const VKDevice& device, VKScheduler& scheduler, 464QuadArrayPass::QuadArrayPass(const VKDevice& device_, VKScheduler& scheduler_,
465 VKDescriptorPool& descriptor_pool, 465 VKDescriptorPool& descriptor_pool_,
466 VKStagingBufferPool& staging_buffer_pool, 466 VKStagingBufferPool& staging_buffer_pool_,
467 VKUpdateDescriptorQueue& update_descriptor_queue) 467 VKUpdateDescriptorQueue& update_descriptor_queue_)
468 : VKComputePass(device, descriptor_pool, BuildQuadArrayPassDescriptorSetLayoutBinding(), 468 : VKComputePass(device_, descriptor_pool_, BuildQuadArrayPassDescriptorSetLayoutBinding(),
469 BuildQuadArrayPassDescriptorUpdateTemplateEntry(), 469 BuildQuadArrayPassDescriptorUpdateTemplateEntry(),
470 BuildComputePushConstantRange(sizeof(u32)), std::size(quad_array), quad_array), 470 BuildComputePushConstantRange(sizeof(u32)), std::size(quad_array), quad_array),
471 scheduler{scheduler}, staging_buffer_pool{staging_buffer_pool}, 471 scheduler{scheduler_}, staging_buffer_pool{staging_buffer_pool_},
472 update_descriptor_queue{update_descriptor_queue} {} 472 update_descriptor_queue{update_descriptor_queue_} {}
473 473
474QuadArrayPass::~QuadArrayPass() = default; 474QuadArrayPass::~QuadArrayPass() = default;
475 475
@@ -510,14 +510,14 @@ std::pair<VkBuffer, VkDeviceSize> QuadArrayPass::Assemble(u32 num_vertices, u32
510 return {*buffer.handle, 0}; 510 return {*buffer.handle, 0};
511} 511}
512 512
513Uint8Pass::Uint8Pass(const VKDevice& device, VKScheduler& scheduler, 513Uint8Pass::Uint8Pass(const VKDevice& device_, VKScheduler& scheduler_,
514 VKDescriptorPool& descriptor_pool, VKStagingBufferPool& staging_buffer_pool, 514 VKDescriptorPool& descriptor_pool_, VKStagingBufferPool& staging_buffer_pool_,
515 VKUpdateDescriptorQueue& update_descriptor_queue) 515 VKUpdateDescriptorQueue& update_descriptor_queue_)
516 : VKComputePass(device, descriptor_pool, BuildInputOutputDescriptorSetBindings(), 516 : VKComputePass(device_, descriptor_pool_, BuildInputOutputDescriptorSetBindings(),
517 BuildInputOutputDescriptorUpdateTemplate(), {}, std::size(uint8_pass), 517 BuildInputOutputDescriptorUpdateTemplate(), {}, std::size(uint8_pass),
518 uint8_pass), 518 uint8_pass),
519 scheduler{scheduler}, staging_buffer_pool{staging_buffer_pool}, 519 scheduler{scheduler_}, staging_buffer_pool{staging_buffer_pool_},
520 update_descriptor_queue{update_descriptor_queue} {} 520 update_descriptor_queue{update_descriptor_queue_} {}
521 521
522Uint8Pass::~Uint8Pass() = default; 522Uint8Pass::~Uint8Pass() = default;
523 523
@@ -555,16 +555,16 @@ std::pair<VkBuffer, u64> Uint8Pass::Assemble(u32 num_vertices, VkBuffer src_buff
555 return {*buffer.handle, 0}; 555 return {*buffer.handle, 0};
556} 556}
557 557
558QuadIndexedPass::QuadIndexedPass(const VKDevice& device, VKScheduler& scheduler, 558QuadIndexedPass::QuadIndexedPass(const VKDevice& device_, VKScheduler& scheduler_,
559 VKDescriptorPool& descriptor_pool, 559 VKDescriptorPool& descriptor_pool_,
560 VKStagingBufferPool& staging_buffer_pool, 560 VKStagingBufferPool& staging_buffer_pool_,
561 VKUpdateDescriptorQueue& update_descriptor_queue) 561 VKUpdateDescriptorQueue& update_descriptor_queue_)
562 : VKComputePass(device, descriptor_pool, BuildInputOutputDescriptorSetBindings(), 562 : VKComputePass(device_, descriptor_pool_, BuildInputOutputDescriptorSetBindings(),
563 BuildInputOutputDescriptorUpdateTemplate(), 563 BuildInputOutputDescriptorUpdateTemplate(),
564 BuildComputePushConstantRange(sizeof(u32) * 2), std::size(QUAD_INDEXED_SPV), 564 BuildComputePushConstantRange(sizeof(u32) * 2), std::size(QUAD_INDEXED_SPV),
565 QUAD_INDEXED_SPV), 565 QUAD_INDEXED_SPV),
566 scheduler{scheduler}, staging_buffer_pool{staging_buffer_pool}, 566 scheduler{scheduler_}, staging_buffer_pool{staging_buffer_pool_},
567 update_descriptor_queue{update_descriptor_queue} {} 567 update_descriptor_queue{update_descriptor_queue_} {}
568 568
569QuadIndexedPass::~QuadIndexedPass() = default; 569QuadIndexedPass::~QuadIndexedPass() = default;
570 570
diff --git a/src/video_core/renderer_vulkan/vk_compute_pass.h b/src/video_core/renderer_vulkan/vk_compute_pass.h
index acc94f27e..2dc87902c 100644
--- a/src/video_core/renderer_vulkan/vk_compute_pass.h
+++ b/src/video_core/renderer_vulkan/vk_compute_pass.h
@@ -43,10 +43,10 @@ private:
43 43
44class QuadArrayPass final : public VKComputePass { 44class QuadArrayPass final : public VKComputePass {
45public: 45public:
46 explicit QuadArrayPass(const VKDevice& device, VKScheduler& scheduler, 46 explicit QuadArrayPass(const VKDevice& device_, VKScheduler& scheduler_,
47 VKDescriptorPool& descriptor_pool, 47 VKDescriptorPool& descriptor_pool_,
48 VKStagingBufferPool& staging_buffer_pool, 48 VKStagingBufferPool& staging_buffer_pool_,
49 VKUpdateDescriptorQueue& update_descriptor_queue); 49 VKUpdateDescriptorQueue& update_descriptor_queue_);
50 ~QuadArrayPass(); 50 ~QuadArrayPass();
51 51
52 std::pair<VkBuffer, VkDeviceSize> Assemble(u32 num_vertices, u32 first); 52 std::pair<VkBuffer, VkDeviceSize> Assemble(u32 num_vertices, u32 first);
@@ -59,9 +59,10 @@ private:
59 59
60class Uint8Pass final : public VKComputePass { 60class Uint8Pass final : public VKComputePass {
61public: 61public:
62 explicit Uint8Pass(const VKDevice& device, VKScheduler& scheduler, 62 explicit Uint8Pass(const VKDevice& device_, VKScheduler& scheduler_,
63 VKDescriptorPool& descriptor_pool, VKStagingBufferPool& staging_buffer_pool, 63 VKDescriptorPool& descriptor_pool_,
64 VKUpdateDescriptorQueue& update_descriptor_queue); 64 VKStagingBufferPool& staging_buffer_pool_,
65 VKUpdateDescriptorQueue& update_descriptor_queue_);
65 ~Uint8Pass(); 66 ~Uint8Pass();
66 67
67 std::pair<VkBuffer, u64> Assemble(u32 num_vertices, VkBuffer src_buffer, u64 src_offset); 68 std::pair<VkBuffer, u64> Assemble(u32 num_vertices, VkBuffer src_buffer, u64 src_offset);
@@ -74,10 +75,10 @@ private:
74 75
75class QuadIndexedPass final : public VKComputePass { 76class QuadIndexedPass final : public VKComputePass {
76public: 77public:
77 explicit QuadIndexedPass(const VKDevice& device, VKScheduler& scheduler, 78 explicit QuadIndexedPass(const VKDevice& device_, VKScheduler& scheduler_,
78 VKDescriptorPool& descriptor_pool, 79 VKDescriptorPool& descriptor_pool_,
79 VKStagingBufferPool& staging_buffer_pool, 80 VKStagingBufferPool& staging_buffer_pool_,
80 VKUpdateDescriptorQueue& update_descriptor_queue); 81 VKUpdateDescriptorQueue& update_descriptor_queue_);
81 ~QuadIndexedPass(); 82 ~QuadIndexedPass();
82 83
83 std::pair<VkBuffer, u64> Assemble(Tegra::Engines::Maxwell3D::Regs::IndexFormat index_format, 84 std::pair<VkBuffer, u64> Assemble(Tegra::Engines::Maxwell3D::Regs::IndexFormat index_format,
diff --git a/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp b/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp
index 9be72dc9b..62f44d6da 100644
--- a/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp
+++ b/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp
@@ -15,16 +15,16 @@
15 15
16namespace Vulkan { 16namespace Vulkan {
17 17
18VKComputePipeline::VKComputePipeline(const VKDevice& device, VKScheduler& scheduler, 18VKComputePipeline::VKComputePipeline(const VKDevice& device_, VKScheduler& scheduler_,
19 VKDescriptorPool& descriptor_pool, 19 VKDescriptorPool& descriptor_pool_,
20 VKUpdateDescriptorQueue& update_descriptor_queue, 20 VKUpdateDescriptorQueue& update_descriptor_queue_,
21 const SPIRVShader& shader) 21 const SPIRVShader& shader_)
22 : device{device}, scheduler{scheduler}, entries{shader.entries}, 22 : device{device_}, scheduler{scheduler_}, entries{shader_.entries},
23 descriptor_set_layout{CreateDescriptorSetLayout()}, 23 descriptor_set_layout{CreateDescriptorSetLayout()},
24 descriptor_allocator{descriptor_pool, *descriptor_set_layout}, 24 descriptor_allocator{descriptor_pool_, *descriptor_set_layout},
25 update_descriptor_queue{update_descriptor_queue}, layout{CreatePipelineLayout()}, 25 update_descriptor_queue{update_descriptor_queue_}, layout{CreatePipelineLayout()},
26 descriptor_template{CreateDescriptorUpdateTemplate()}, 26 descriptor_template{CreateDescriptorUpdateTemplate()},
27 shader_module{CreateShaderModule(shader.code)}, pipeline{CreatePipeline()} {} 27 shader_module{CreateShaderModule(shader_.code)}, pipeline{CreatePipeline()} {}
28 28
29VKComputePipeline::~VKComputePipeline() = default; 29VKComputePipeline::~VKComputePipeline() = default;
30 30
diff --git a/src/video_core/renderer_vulkan/vk_compute_pipeline.h b/src/video_core/renderer_vulkan/vk_compute_pipeline.h
index 6e2f22a4a..49e2113a2 100644
--- a/src/video_core/renderer_vulkan/vk_compute_pipeline.h
+++ b/src/video_core/renderer_vulkan/vk_compute_pipeline.h
@@ -17,10 +17,10 @@ class VKUpdateDescriptorQueue;
17 17
18class VKComputePipeline final { 18class VKComputePipeline final {
19public: 19public:
20 explicit VKComputePipeline(const VKDevice& device, VKScheduler& scheduler, 20 explicit VKComputePipeline(const VKDevice& device_, VKScheduler& scheduler_,
21 VKDescriptorPool& descriptor_pool, 21 VKDescriptorPool& descriptor_pool_,
22 VKUpdateDescriptorQueue& update_descriptor_queue, 22 VKUpdateDescriptorQueue& update_descriptor_queue_,
23 const SPIRVShader& shader); 23 const SPIRVShader& shader_);
24 ~VKComputePipeline(); 24 ~VKComputePipeline();
25 25
26 VkDescriptorSet CommitDescriptorSet(); 26 VkDescriptorSet CommitDescriptorSet();
diff --git a/src/video_core/renderer_vulkan/vk_device.cpp b/src/video_core/renderer_vulkan/vk_device.cpp
index f34ed6735..ce3846195 100644
--- a/src/video_core/renderer_vulkan/vk_device.cpp
+++ b/src/video_core/renderer_vulkan/vk_device.cpp
@@ -491,8 +491,8 @@ bool VKDevice::IsOptimalAstcSupported(const VkPhysicalDeviceFeatures& features)
491 VK_FORMAT_FEATURE_BLIT_DST_BIT | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT | 491 VK_FORMAT_FEATURE_BLIT_DST_BIT | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT |
492 VK_FORMAT_FEATURE_TRANSFER_DST_BIT}; 492 VK_FORMAT_FEATURE_TRANSFER_DST_BIT};
493 for (const auto format : astc_formats) { 493 for (const auto format : astc_formats) {
494 const auto format_properties{physical.GetFormatProperties(format)}; 494 const auto physical_format_properties{physical.GetFormatProperties(format)};
495 if (!(format_properties.optimalTilingFeatures & format_feature_usage)) { 495 if ((physical_format_properties.optimalTilingFeatures & format_feature_usage) == 0) {
496 return false; 496 return false;
497 } 497 }
498 } 498 }
@@ -644,8 +644,8 @@ std::vector<const char*> VKDevice::LoadExtensions() {
644 VkPhysicalDeviceFeatures2KHR features; 644 VkPhysicalDeviceFeatures2KHR features;
645 features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR; 645 features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR;
646 646
647 VkPhysicalDeviceProperties2KHR properties; 647 VkPhysicalDeviceProperties2KHR physical_properties;
648 properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR; 648 physical_properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR;
649 649
650 if (has_khr_shader_float16_int8) { 650 if (has_khr_shader_float16_int8) {
651 VkPhysicalDeviceFloat16Int8FeaturesKHR float16_int8_features; 651 VkPhysicalDeviceFloat16Int8FeaturesKHR float16_int8_features;
@@ -670,8 +670,8 @@ std::vector<const char*> VKDevice::LoadExtensions() {
670 subgroup_properties.sType = 670 subgroup_properties.sType =
671 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; 671 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT;
672 subgroup_properties.pNext = nullptr; 672 subgroup_properties.pNext = nullptr;
673 properties.pNext = &subgroup_properties; 673 physical_properties.pNext = &subgroup_properties;
674 physical.GetProperties2KHR(properties); 674 physical.GetProperties2KHR(physical_properties);
675 675
676 is_warp_potentially_bigger = subgroup_properties.maxSubgroupSize > GuestWarpSize; 676 is_warp_potentially_bigger = subgroup_properties.maxSubgroupSize > GuestWarpSize;
677 677
@@ -695,8 +695,8 @@ std::vector<const char*> VKDevice::LoadExtensions() {
695 VkPhysicalDeviceTransformFeedbackPropertiesEXT tfb_properties; 695 VkPhysicalDeviceTransformFeedbackPropertiesEXT tfb_properties;
696 tfb_properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT; 696 tfb_properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT;
697 tfb_properties.pNext = nullptr; 697 tfb_properties.pNext = nullptr;
698 properties.pNext = &tfb_properties; 698 physical_properties.pNext = &tfb_properties;
699 physical.GetProperties2KHR(properties); 699 physical.GetProperties2KHR(physical_properties);
700 700
701 if (tfb_features.transformFeedback && tfb_features.geometryStreams && 701 if (tfb_features.transformFeedback && tfb_features.geometryStreams &&
702 tfb_properties.maxTransformFeedbackStreams >= 4 && 702 tfb_properties.maxTransformFeedbackStreams >= 4 &&
diff --git a/src/video_core/renderer_vulkan/vk_fence_manager.cpp b/src/video_core/renderer_vulkan/vk_fence_manager.cpp
index 5babbdd0b..0bcaee714 100644
--- a/src/video_core/renderer_vulkan/vk_fence_manager.cpp
+++ b/src/video_core/renderer_vulkan/vk_fence_manager.cpp
@@ -14,12 +14,13 @@
14 14
15namespace Vulkan { 15namespace Vulkan {
16 16
17InnerFence::InnerFence(const VKDevice& device, VKScheduler& scheduler, u32 payload, bool is_stubbed) 17InnerFence::InnerFence(const VKDevice& device_, VKScheduler& scheduler_, u32 payload_,
18 : VideoCommon::FenceBase(payload, is_stubbed), device{device}, scheduler{scheduler} {} 18 bool is_stubbed_)
19 : FenceBase{payload_, is_stubbed_}, device{device_}, scheduler{scheduler_} {}
19 20
20InnerFence::InnerFence(const VKDevice& device, VKScheduler& scheduler, GPUVAddr address, 21InnerFence::InnerFence(const VKDevice& device_, VKScheduler& scheduler_, GPUVAddr address_,
21 u32 payload, bool is_stubbed) 22 u32 payload_, bool is_stubbed_)
22 : VideoCommon::FenceBase(address, payload, is_stubbed), device{device}, scheduler{scheduler} {} 23 : FenceBase{address_, payload_, is_stubbed_}, device{device_}, scheduler{scheduler_} {}
23 24
24InnerFence::~InnerFence() = default; 25InnerFence::~InnerFence() = default;
25 26
@@ -71,11 +72,12 @@ bool InnerFence::IsEventSignalled() const {
71 } 72 }
72} 73}
73 74
74VKFenceManager::VKFenceManager(VideoCore::RasterizerInterface& rasterizer, Tegra::GPU& gpu, 75VKFenceManager::VKFenceManager(VideoCore::RasterizerInterface& rasterizer_, Tegra::GPU& gpu_,
75 Tegra::MemoryManager& memory_manager, VKTextureCache& texture_cache, 76 Tegra::MemoryManager& memory_manager_,
76 VKBufferCache& buffer_cache, VKQueryCache& query_cache, 77 VKTextureCache& texture_cache_, VKBufferCache& buffer_cache_,
77 const VKDevice& device_, VKScheduler& scheduler_) 78 VKQueryCache& query_cache_, const VKDevice& device_,
78 : GenericFenceManager(rasterizer, gpu, texture_cache, buffer_cache, query_cache), 79 VKScheduler& scheduler_)
80 : GenericFenceManager{rasterizer_, gpu_, texture_cache_, buffer_cache_, query_cache_},
79 device{device_}, scheduler{scheduler_} {} 81 device{device_}, scheduler{scheduler_} {}
80 82
81Fence VKFenceManager::CreateFence(u32 value, bool is_stubbed) { 83Fence VKFenceManager::CreateFence(u32 value, bool is_stubbed) {
diff --git a/src/video_core/renderer_vulkan/vk_fence_manager.h b/src/video_core/renderer_vulkan/vk_fence_manager.h
index 1547d6d30..c8547cc24 100644
--- a/src/video_core/renderer_vulkan/vk_fence_manager.h
+++ b/src/video_core/renderer_vulkan/vk_fence_manager.h
@@ -28,10 +28,10 @@ class VKTextureCache;
28 28
29class InnerFence : public VideoCommon::FenceBase { 29class InnerFence : public VideoCommon::FenceBase {
30public: 30public:
31 explicit InnerFence(const VKDevice& device, VKScheduler& scheduler, u32 payload, 31 explicit InnerFence(const VKDevice& device_, VKScheduler& scheduler_, u32 payload_,
32 bool is_stubbed); 32 bool is_stubbed_);
33 explicit InnerFence(const VKDevice& device, VKScheduler& scheduler, GPUVAddr address, 33 explicit InnerFence(const VKDevice& device_, VKScheduler& scheduler_, GPUVAddr address_,
34 u32 payload, bool is_stubbed); 34 u32 payload_, bool is_stubbed_);
35 ~InnerFence(); 35 ~InnerFence();
36 36
37 void Queue(); 37 void Queue();
@@ -55,10 +55,10 @@ using GenericFenceManager =
55 55
56class VKFenceManager final : public GenericFenceManager { 56class VKFenceManager final : public GenericFenceManager {
57public: 57public:
58 explicit VKFenceManager(VideoCore::RasterizerInterface& rasterizer, Tegra::GPU& gpu, 58 explicit VKFenceManager(VideoCore::RasterizerInterface& rasterizer_, Tegra::GPU& gpu_,
59 Tegra::MemoryManager& memory_manager, VKTextureCache& texture_cache, 59 Tegra::MemoryManager& memory_manager_, VKTextureCache& texture_cache_,
60 VKBufferCache& buffer_cache, VKQueryCache& query_cache, 60 VKBufferCache& buffer_cache_, VKQueryCache& query_cache_,
61 const VKDevice& device, VKScheduler& scheduler); 61 const VKDevice& device_, VKScheduler& scheduler_);
62 62
63protected: 63protected:
64 Fence CreateFence(u32 value, bool is_stubbed) override; 64 Fence CreateFence(u32 value, bool is_stubbed) override;
diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
index 0e8f9c352..f8a1bcf34 100644
--- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
+++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
@@ -71,21 +71,21 @@ VkViewportSwizzleNV UnpackViewportSwizzle(u16 swizzle) {
71 71
72} // Anonymous namespace 72} // Anonymous namespace
73 73
74VKGraphicsPipeline::VKGraphicsPipeline(const VKDevice& device, VKScheduler& scheduler, 74VKGraphicsPipeline::VKGraphicsPipeline(const VKDevice& device_, VKScheduler& scheduler_,
75 VKDescriptorPool& descriptor_pool, 75 VKDescriptorPool& descriptor_pool_,
76 VKUpdateDescriptorQueue& update_descriptor_queue, 76 VKUpdateDescriptorQueue& update_descriptor_queue_,
77 VKRenderPassCache& renderpass_cache, 77 VKRenderPassCache& renderpass_cache_,
78 const GraphicsPipelineCacheKey& key, 78 const GraphicsPipelineCacheKey& key_,
79 vk::Span<VkDescriptorSetLayoutBinding> bindings, 79 vk::Span<VkDescriptorSetLayoutBinding> bindings_,
80 const SPIRVProgram& program) 80 const SPIRVProgram& program_)
81 : device{device}, scheduler{scheduler}, cache_key{key}, hash{cache_key.Hash()}, 81 : device{device_}, scheduler{scheduler_}, cache_key{key_}, hash{cache_key.Hash()},
82 descriptor_set_layout{CreateDescriptorSetLayout(bindings)}, 82 descriptor_set_layout{CreateDescriptorSetLayout(bindings_)},
83 descriptor_allocator{descriptor_pool, *descriptor_set_layout}, 83 descriptor_allocator{descriptor_pool_, *descriptor_set_layout},
84 update_descriptor_queue{update_descriptor_queue}, layout{CreatePipelineLayout()}, 84 update_descriptor_queue{update_descriptor_queue_}, layout{CreatePipelineLayout()},
85 descriptor_template{CreateDescriptorUpdateTemplate(program)}, modules{CreateShaderModules( 85 descriptor_template{CreateDescriptorUpdateTemplate(program_)}, modules{CreateShaderModules(
86 program)}, 86 program_)},
87 renderpass{renderpass_cache.GetRenderPass(cache_key.renderpass_params)}, 87 renderpass{renderpass_cache_.GetRenderPass(cache_key.renderpass_params)},
88 pipeline{CreatePipeline(cache_key.renderpass_params, program)} {} 88 pipeline{CreatePipeline(cache_key.renderpass_params, program_)} {}
89 89
90VKGraphicsPipeline::~VKGraphicsPipeline() = default; 90VKGraphicsPipeline::~VKGraphicsPipeline() = default;
91 91
@@ -162,8 +162,8 @@ std::vector<vk::ShaderModule> VKGraphicsPipeline::CreateShaderModules(
162 .codeSize = 0, 162 .codeSize = 0,
163 }; 163 };
164 164
165 std::vector<vk::ShaderModule> modules; 165 std::vector<vk::ShaderModule> shader_modules;
166 modules.reserve(Maxwell::MaxShaderStage); 166 shader_modules.reserve(Maxwell::MaxShaderStage);
167 for (std::size_t i = 0; i < Maxwell::MaxShaderStage; ++i) { 167 for (std::size_t i = 0; i < Maxwell::MaxShaderStage; ++i) {
168 const auto& stage = program[i]; 168 const auto& stage = program[i];
169 if (!stage) { 169 if (!stage) {
@@ -174,9 +174,9 @@ std::vector<vk::ShaderModule> VKGraphicsPipeline::CreateShaderModules(
174 174
175 ci.codeSize = stage->code.size() * sizeof(u32); 175 ci.codeSize = stage->code.size() * sizeof(u32);
176 ci.pCode = stage->code.data(); 176 ci.pCode = stage->code.data();
177 modules.push_back(device.GetLogical().CreateShaderModule(ci)); 177 shader_modules.push_back(device.GetLogical().CreateShaderModule(ci));
178 } 178 }
179 return modules; 179 return shader_modules;
180} 180}
181 181
182vk::Pipeline VKGraphicsPipeline::CreatePipeline(const RenderPassParams& renderpass_params, 182vk::Pipeline VKGraphicsPipeline::CreatePipeline(const RenderPassParams& renderpass_params,
diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.h b/src/video_core/renderer_vulkan/vk_graphics_pipeline.h
index 58aa35efd..3fb31d55a 100644
--- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.h
+++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.h
@@ -51,13 +51,13 @@ using SPIRVProgram = std::array<std::optional<SPIRVShader>, Maxwell::MaxShaderSt
51 51
52class VKGraphicsPipeline final { 52class VKGraphicsPipeline final {
53public: 53public:
54 explicit VKGraphicsPipeline(const VKDevice& device, VKScheduler& scheduler, 54 explicit VKGraphicsPipeline(const VKDevice& device_, VKScheduler& scheduler_,
55 VKDescriptorPool& descriptor_pool, 55 VKDescriptorPool& descriptor_pool_,
56 VKUpdateDescriptorQueue& update_descriptor_queue, 56 VKUpdateDescriptorQueue& update_descriptor_queue_,
57 VKRenderPassCache& renderpass_cache, 57 VKRenderPassCache& renderpass_cache_,
58 const GraphicsPipelineCacheKey& key, 58 const GraphicsPipelineCacheKey& key_,
59 vk::Span<VkDescriptorSetLayoutBinding> bindings, 59 vk::Span<VkDescriptorSetLayoutBinding> bindings_,
60 const SPIRVProgram& program); 60 const SPIRVProgram& program_);
61 ~VKGraphicsPipeline(); 61 ~VKGraphicsPipeline();
62 62
63 VkDescriptorSet CommitDescriptorSet(); 63 VkDescriptorSet CommitDescriptorSet();
diff --git a/src/video_core/renderer_vulkan/vk_image.cpp b/src/video_core/renderer_vulkan/vk_image.cpp
index 1c418ea17..072d14e3b 100644
--- a/src/video_core/renderer_vulkan/vk_image.cpp
+++ b/src/video_core/renderer_vulkan/vk_image.cpp
@@ -13,18 +13,18 @@
13 13
14namespace Vulkan { 14namespace Vulkan {
15 15
16VKImage::VKImage(const VKDevice& device, VKScheduler& scheduler, const VkImageCreateInfo& image_ci, 16VKImage::VKImage(const VKDevice& device_, VKScheduler& scheduler_,
17 VkImageAspectFlags aspect_mask) 17 const VkImageCreateInfo& image_ci_, VkImageAspectFlags aspect_mask_)
18 : device{device}, scheduler{scheduler}, format{image_ci.format}, aspect_mask{aspect_mask}, 18 : device{device_}, scheduler{scheduler_}, format{image_ci_.format}, aspect_mask{aspect_mask_},
19 image_num_layers{image_ci.arrayLayers}, image_num_levels{image_ci.mipLevels} { 19 image_num_layers{image_ci_.arrayLayers}, image_num_levels{image_ci_.mipLevels} {
20 UNIMPLEMENTED_IF_MSG(image_ci.queueFamilyIndexCount != 0, 20 UNIMPLEMENTED_IF_MSG(image_ci_.queueFamilyIndexCount != 0,
21 "Queue family tracking is not implemented"); 21 "Queue family tracking is not implemented");
22 22
23 image = device.GetLogical().CreateImage(image_ci); 23 image = device_.GetLogical().CreateImage(image_ci_);
24 24
25 const u32 num_ranges = image_num_layers * image_num_levels; 25 const u32 num_ranges = image_num_layers * image_num_levels;
26 barriers.resize(num_ranges); 26 barriers.resize(num_ranges);
27 subrange_states.resize(num_ranges, {{}, image_ci.initialLayout}); 27 subrange_states.resize(num_ranges, {{}, image_ci_.initialLayout});
28} 28}
29 29
30VKImage::~VKImage() = default; 30VKImage::~VKImage() = default;
diff --git a/src/video_core/renderer_vulkan/vk_image.h b/src/video_core/renderer_vulkan/vk_image.h
index b4d7229e5..287ab90ca 100644
--- a/src/video_core/renderer_vulkan/vk_image.h
+++ b/src/video_core/renderer_vulkan/vk_image.h
@@ -17,8 +17,8 @@ class VKScheduler;
17 17
18class VKImage { 18class VKImage {
19public: 19public:
20 explicit VKImage(const VKDevice& device, VKScheduler& scheduler, 20 explicit VKImage(const VKDevice& device_, VKScheduler& scheduler_,
21 const VkImageCreateInfo& image_ci, VkImageAspectFlags aspect_mask); 21 const VkImageCreateInfo& image_ci_, VkImageAspectFlags aspect_mask_);
22 ~VKImage(); 22 ~VKImage();
23 23
24 /// Records in the passed command buffer an image transition and updates the state of the image. 24 /// Records in the passed command buffer an image transition and updates the state of the image.
diff --git a/src/video_core/renderer_vulkan/vk_memory_manager.cpp b/src/video_core/renderer_vulkan/vk_memory_manager.cpp
index 24c8960ac..be53d450f 100644
--- a/src/video_core/renderer_vulkan/vk_memory_manager.cpp
+++ b/src/video_core/renderer_vulkan/vk_memory_manager.cpp
@@ -29,10 +29,10 @@ u64 GetAllocationChunkSize(u64 required_size) {
29 29
30class VKMemoryAllocation final { 30class VKMemoryAllocation final {
31public: 31public:
32 explicit VKMemoryAllocation(const VKDevice& device, vk::DeviceMemory memory, 32 explicit VKMemoryAllocation(const VKDevice& device_, vk::DeviceMemory memory_,
33 VkMemoryPropertyFlags properties, u64 allocation_size, u32 type) 33 VkMemoryPropertyFlags properties_, u64 allocation_size_, u32 type_)
34 : device{device}, memory{std::move(memory)}, properties{properties}, 34 : device{device_}, memory{std::move(memory_)}, properties{properties_},
35 allocation_size{allocation_size}, shifted_type{ShiftType(type)} {} 35 allocation_size{allocation_size_}, shifted_type{ShiftType(type_)} {}
36 36
37 VKMemoryCommit Commit(VkDeviceSize commit_size, VkDeviceSize alignment) { 37 VKMemoryCommit Commit(VkDeviceSize commit_size, VkDeviceSize alignment) {
38 auto found = TryFindFreeSection(free_iterator, allocation_size, 38 auto found = TryFindFreeSection(free_iterator, allocation_size,
@@ -117,8 +117,8 @@ private:
117 std::vector<const VKMemoryCommitImpl*> commits; 117 std::vector<const VKMemoryCommitImpl*> commits;
118}; 118};
119 119
120VKMemoryManager::VKMemoryManager(const VKDevice& device) 120VKMemoryManager::VKMemoryManager(const VKDevice& device_)
121 : device{device}, properties{device.GetPhysical().GetMemoryProperties()} {} 121 : device{device_}, properties{device_.GetPhysical().GetMemoryProperties()} {}
122 122
123VKMemoryManager::~VKMemoryManager() = default; 123VKMemoryManager::~VKMemoryManager() = default;
124 124
@@ -207,9 +207,9 @@ VKMemoryCommit VKMemoryManager::TryAllocCommit(const VkMemoryRequirements& requi
207 return {}; 207 return {};
208} 208}
209 209
210VKMemoryCommitImpl::VKMemoryCommitImpl(const VKDevice& device, VKMemoryAllocation* allocation, 210VKMemoryCommitImpl::VKMemoryCommitImpl(const VKDevice& device_, VKMemoryAllocation* allocation_,
211 const vk::DeviceMemory& memory, u64 begin, u64 end) 211 const vk::DeviceMemory& memory_, u64 begin_, u64 end_)
212 : device{device}, memory{memory}, interval{begin, end}, allocation{allocation} {} 212 : device{device_}, memory{memory_}, interval{begin_, end_}, allocation{allocation_} {}
213 213
214VKMemoryCommitImpl::~VKMemoryCommitImpl() { 214VKMemoryCommitImpl::~VKMemoryCommitImpl() {
215 allocation->Free(this); 215 allocation->Free(this);
diff --git a/src/video_core/renderer_vulkan/vk_memory_manager.h b/src/video_core/renderer_vulkan/vk_memory_manager.h
index 1af88e3d4..39f903ec8 100644
--- a/src/video_core/renderer_vulkan/vk_memory_manager.h
+++ b/src/video_core/renderer_vulkan/vk_memory_manager.h
@@ -21,7 +21,7 @@ using VKMemoryCommit = std::unique_ptr<VKMemoryCommitImpl>;
21 21
22class VKMemoryManager final { 22class VKMemoryManager final {
23public: 23public:
24 explicit VKMemoryManager(const VKDevice& device); 24 explicit VKMemoryManager(const VKDevice& device_);
25 VKMemoryManager(const VKMemoryManager&) = delete; 25 VKMemoryManager(const VKMemoryManager&) = delete;
26 ~VKMemoryManager(); 26 ~VKMemoryManager();
27 27
@@ -58,8 +58,8 @@ class VKMemoryCommitImpl final {
58 friend MemoryMap; 58 friend MemoryMap;
59 59
60public: 60public:
61 explicit VKMemoryCommitImpl(const VKDevice& device, VKMemoryAllocation* allocation, 61 explicit VKMemoryCommitImpl(const VKDevice& device_, VKMemoryAllocation* allocation_,
62 const vk::DeviceMemory& memory, u64 begin, u64 end); 62 const vk::DeviceMemory& memory_, u64 begin_, u64 end_);
63 ~VKMemoryCommitImpl(); 63 ~VKMemoryCommitImpl();
64 64
65 /// Maps a memory region and returns a pointer to it. 65 /// Maps a memory region and returns a pointer to it.
@@ -93,8 +93,8 @@ private:
93/// Holds ownership of a memory map. 93/// Holds ownership of a memory map.
94class MemoryMap final { 94class MemoryMap final {
95public: 95public:
96 explicit MemoryMap(const VKMemoryCommitImpl* commit, u8* address) 96 explicit MemoryMap(const VKMemoryCommitImpl* commit_, u8* address_)
97 : commit{commit}, address{address} {} 97 : commit{commit_}, address{address_} {}
98 98
99 ~MemoryMap() { 99 ~MemoryMap() {
100 if (commit) { 100 if (commit) {
diff --git a/src/video_core/renderer_vulkan/vk_query_cache.cpp b/src/video_core/renderer_vulkan/vk_query_cache.cpp
index ee2d871e3..6fa071737 100644
--- a/src/video_core/renderer_vulkan/vk_query_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_query_cache.cpp
@@ -66,15 +66,15 @@ void QueryPool::Reserve(std::pair<VkQueryPool, u32> query) {
66 usage[pool_index * GROW_STEP + static_cast<std::ptrdiff_t>(query.second)] = false; 66 usage[pool_index * GROW_STEP + static_cast<std::ptrdiff_t>(query.second)] = false;
67} 67}
68 68
69VKQueryCache::VKQueryCache(VideoCore::RasterizerInterface& rasterizer, 69VKQueryCache::VKQueryCache(VideoCore::RasterizerInterface& rasterizer_,
70 Tegra::Engines::Maxwell3D& maxwell3d, Tegra::MemoryManager& gpu_memory, 70 Tegra::Engines::Maxwell3D& maxwell3d_, Tegra::MemoryManager& gpu_memory_,
71 const VKDevice& device, VKScheduler& scheduler) 71 const VKDevice& device_, VKScheduler& scheduler_)
72 : VideoCommon::QueryCacheBase<VKQueryCache, CachedQuery, CounterStream, 72 : QueryCacheBase<VKQueryCache, CachedQuery, CounterStream, HostCounter>{rasterizer_, maxwell3d_,
73 HostCounter>{rasterizer, maxwell3d, gpu_memory}, 73 gpu_memory_},
74 device{device}, scheduler{scheduler}, query_pools{ 74 device{device_}, scheduler{scheduler_}, query_pools{
75 QueryPool{device, scheduler, 75 QueryPool{device_, scheduler_,
76 QueryType::SamplesPassed}, 76 QueryType::SamplesPassed},
77 } {} 77 } {}
78 78
79VKQueryCache::~VKQueryCache() { 79VKQueryCache::~VKQueryCache() {
80 // TODO(Rodrigo): This is a hack to destroy all HostCounter instances before the base class 80 // TODO(Rodrigo): This is a hack to destroy all HostCounter instances before the base class
@@ -95,12 +95,12 @@ void VKQueryCache::Reserve(QueryType type, std::pair<VkQueryPool, u32> query) {
95 query_pools[static_cast<std::size_t>(type)].Reserve(query); 95 query_pools[static_cast<std::size_t>(type)].Reserve(query);
96} 96}
97 97
98HostCounter::HostCounter(VKQueryCache& cache, std::shared_ptr<HostCounter> dependency, 98HostCounter::HostCounter(VKQueryCache& cache_, std::shared_ptr<HostCounter> dependency_,
99 QueryType type) 99 QueryType type_)
100 : VideoCommon::HostCounterBase<VKQueryCache, HostCounter>{std::move(dependency)}, cache{cache}, 100 : HostCounterBase<VKQueryCache, HostCounter>{std::move(dependency_)}, cache{cache_},
101 type{type}, query{cache.AllocateQuery(type)}, tick{cache.Scheduler().CurrentTick()} { 101 type{type_}, query{cache_.AllocateQuery(type_)}, tick{cache_.Scheduler().CurrentTick()} {
102 const vk::Device* logical = &cache.Device().GetLogical(); 102 const vk::Device* logical = &cache_.Device().GetLogical();
103 cache.Scheduler().Record([logical, query = query](vk::CommandBuffer cmdbuf) { 103 cache_.Scheduler().Record([logical, query = query](vk::CommandBuffer cmdbuf) {
104 logical->ResetQueryPoolEXT(query.first, query.second, 1); 104 logical->ResetQueryPoolEXT(query.first, query.second, 1);
105 cmdbuf.BeginQuery(query.first, query.second, VK_QUERY_CONTROL_PRECISE_BIT); 105 cmdbuf.BeginQuery(query.first, query.second, VK_QUERY_CONTROL_PRECISE_BIT);
106 }); 106 });
diff --git a/src/video_core/renderer_vulkan/vk_query_cache.h b/src/video_core/renderer_vulkan/vk_query_cache.h
index 2e57fb75d..201fca888 100644
--- a/src/video_core/renderer_vulkan/vk_query_cache.h
+++ b/src/video_core/renderer_vulkan/vk_query_cache.h
@@ -53,9 +53,9 @@ private:
53class VKQueryCache final 53class VKQueryCache final
54 : public VideoCommon::QueryCacheBase<VKQueryCache, CachedQuery, CounterStream, HostCounter> { 54 : public VideoCommon::QueryCacheBase<VKQueryCache, CachedQuery, CounterStream, HostCounter> {
55public: 55public:
56 explicit VKQueryCache(VideoCore::RasterizerInterface& rasterizer, 56 explicit VKQueryCache(VideoCore::RasterizerInterface& rasterizer_,
57 Tegra::Engines::Maxwell3D& maxwell3d, Tegra::MemoryManager& gpu_memory, 57 Tegra::Engines::Maxwell3D& maxwell3d_, Tegra::MemoryManager& gpu_memory_,
58 const VKDevice& device, VKScheduler& scheduler); 58 const VKDevice& device_, VKScheduler& scheduler_);
59 ~VKQueryCache(); 59 ~VKQueryCache();
60 60
61 std::pair<VkQueryPool, u32> AllocateQuery(VideoCore::QueryType type); 61 std::pair<VkQueryPool, u32> AllocateQuery(VideoCore::QueryType type);
@@ -78,8 +78,8 @@ private:
78 78
79class HostCounter final : public VideoCommon::HostCounterBase<VKQueryCache, HostCounter> { 79class HostCounter final : public VideoCommon::HostCounterBase<VKQueryCache, HostCounter> {
80public: 80public:
81 explicit HostCounter(VKQueryCache& cache, std::shared_ptr<HostCounter> dependency, 81 explicit HostCounter(VKQueryCache& cache_, std::shared_ptr<HostCounter> dependency_,
82 VideoCore::QueryType type); 82 VideoCore::QueryType type_);
83 ~HostCounter(); 83 ~HostCounter();
84 84
85 void EndQuery(); 85 void EndQuery();
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index e0fb8693f..560386081 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -904,15 +904,14 @@ void RasterizerVulkan::SetupShaderDescriptors(
904 texture_cache.GuardSamplers(false); 904 texture_cache.GuardSamplers(false);
905} 905}
906 906
907void RasterizerVulkan::SetupImageTransitions( 907void RasterizerVulkan::SetupImageTransitions(Texceptions texceptions, const ColorAttachments& color,
908 Texceptions texceptions, const std::array<View, Maxwell::NumRenderTargets>& color_attachments, 908 const ZetaAttachment& zeta) {
909 const View& zeta_attachment) {
910 TransitionImages(sampled_views, VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, VK_ACCESS_SHADER_READ_BIT); 909 TransitionImages(sampled_views, VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, VK_ACCESS_SHADER_READ_BIT);
911 TransitionImages(image_views, VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, 910 TransitionImages(image_views, VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,
912 VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT); 911 VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT);
913 912
914 for (std::size_t rt = 0; rt < std::size(color_attachments); ++rt) { 913 for (std::size_t rt = 0; rt < color.size(); ++rt) {
915 const auto color_attachment = color_attachments[rt]; 914 const auto color_attachment = color[rt];
916 if (color_attachment == nullptr) { 915 if (color_attachment == nullptr) {
917 continue; 916 continue;
918 } 917 }
@@ -923,13 +922,13 @@ void RasterizerVulkan::SetupImageTransitions(
923 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT); 922 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT);
924 } 923 }
925 924
926 if (zeta_attachment != nullptr) { 925 if (zeta != nullptr) {
927 const auto image_layout = texceptions[ZETA_TEXCEPTION_INDEX] 926 const auto image_layout = texceptions[ZETA_TEXCEPTION_INDEX]
928 ? VK_IMAGE_LAYOUT_GENERAL 927 ? VK_IMAGE_LAYOUT_GENERAL
929 : VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; 928 : VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
930 zeta_attachment->Transition(image_layout, VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, 929 zeta->Transition(image_layout, VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,
931 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | 930 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
932 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT); 931 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT);
933 } 932 }
934} 933}
935 934
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.h b/src/video_core/renderer_vulkan/vk_rasterizer.h
index 237e51fa4..1789fb285 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.h
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.h
@@ -160,6 +160,9 @@ private:
160 bool is_indexed = 0; 160 bool is_indexed = 0;
161 }; 161 };
162 162
163 using ColorAttachments = std::array<View, Maxwell::NumRenderTargets>;
164 using ZetaAttachment = View;
165
163 using Texceptions = std::bitset<Maxwell::NumRenderTargets + 1>; 166 using Texceptions = std::bitset<Maxwell::NumRenderTargets + 1>;
164 167
165 static constexpr std::size_t ZETA_TEXCEPTION_INDEX = 8; 168 static constexpr std::size_t ZETA_TEXCEPTION_INDEX = 8;
@@ -181,9 +184,8 @@ private:
181 /// Setup descriptors in the graphics pipeline. 184 /// Setup descriptors in the graphics pipeline.
182 void SetupShaderDescriptors(const std::array<Shader*, Maxwell::MaxShaderProgram>& shaders); 185 void SetupShaderDescriptors(const std::array<Shader*, Maxwell::MaxShaderProgram>& shaders);
183 186
184 void SetupImageTransitions(Texceptions texceptions, 187 void SetupImageTransitions(Texceptions texceptions, const ColorAttachments& color,
185 const std::array<View, Maxwell::NumRenderTargets>& color_attachments, 188 const ZetaAttachment& zeta);
186 const View& zeta_attachment);
187 189
188 void UpdateDynamicStates(); 190 void UpdateDynamicStates();
189 191
@@ -308,8 +310,8 @@ private:
308 vk::Event wfi_event; 310 vk::Event wfi_event;
309 VideoCommon::Shader::AsyncShaders async_shaders; 311 VideoCommon::Shader::AsyncShaders async_shaders;
310 312
311 std::array<View, Maxwell::NumRenderTargets> color_attachments; 313 ColorAttachments color_attachments;
312 View zeta_attachment; 314 ZetaAttachment zeta_attachment;
313 315
314 std::vector<ImageView> sampled_views; 316 std::vector<ImageView> sampled_views;
315 std::vector<ImageView> image_views; 317 std::vector<ImageView> image_views;
diff --git a/src/video_core/renderer_vulkan/vk_renderpass_cache.cpp b/src/video_core/renderer_vulkan/vk_renderpass_cache.cpp
index 80284cf92..e812c7dd6 100644
--- a/src/video_core/renderer_vulkan/vk_renderpass_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_renderpass_cache.cpp
@@ -24,7 +24,7 @@ bool RenderPassParams::operator==(const RenderPassParams& rhs) const noexcept {
24 return std::memcmp(&rhs, this, sizeof *this) == 0; 24 return std::memcmp(&rhs, this, sizeof *this) == 0;
25} 25}
26 26
27VKRenderPassCache::VKRenderPassCache(const VKDevice& device) : device{device} {} 27VKRenderPassCache::VKRenderPassCache(const VKDevice& device_) : device{device_} {}
28 28
29VKRenderPassCache::~VKRenderPassCache() = default; 29VKRenderPassCache::~VKRenderPassCache() = default;
30 30
diff --git a/src/video_core/renderer_vulkan/vk_renderpass_cache.h b/src/video_core/renderer_vulkan/vk_renderpass_cache.h
index 8b0fec720..652ecef7b 100644
--- a/src/video_core/renderer_vulkan/vk_renderpass_cache.h
+++ b/src/video_core/renderer_vulkan/vk_renderpass_cache.h
@@ -55,7 +55,7 @@ namespace Vulkan {
55 55
56class VKRenderPassCache final { 56class VKRenderPassCache final {
57public: 57public:
58 explicit VKRenderPassCache(const VKDevice& device); 58 explicit VKRenderPassCache(const VKDevice& device_);
59 ~VKRenderPassCache(); 59 ~VKRenderPassCache();
60 60
61 VkRenderPass GetRenderPass(const RenderPassParams& params); 61 VkRenderPass GetRenderPass(const RenderPassParams& params);
diff --git a/src/video_core/renderer_vulkan/vk_sampler_cache.cpp b/src/video_core/renderer_vulkan/vk_sampler_cache.cpp
index b068888f9..b859691fa 100644
--- a/src/video_core/renderer_vulkan/vk_sampler_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_sampler_cache.cpp
@@ -36,7 +36,7 @@ VkBorderColor ConvertBorderColor(std::array<float, 4> color) {
36 36
37} // Anonymous namespace 37} // Anonymous namespace
38 38
39VKSamplerCache::VKSamplerCache(const VKDevice& device) : device{device} {} 39VKSamplerCache::VKSamplerCache(const VKDevice& device_) : device{device_} {}
40 40
41VKSamplerCache::~VKSamplerCache() = default; 41VKSamplerCache::~VKSamplerCache() = default;
42 42
diff --git a/src/video_core/renderer_vulkan/vk_sampler_cache.h b/src/video_core/renderer_vulkan/vk_sampler_cache.h
index a33d1c0ee..3f22c4610 100644
--- a/src/video_core/renderer_vulkan/vk_sampler_cache.h
+++ b/src/video_core/renderer_vulkan/vk_sampler_cache.h
@@ -14,7 +14,7 @@ class VKDevice;
14 14
15class VKSamplerCache final : public VideoCommon::SamplerCache<VkSampler, vk::Sampler> { 15class VKSamplerCache final : public VideoCommon::SamplerCache<VkSampler, vk::Sampler> {
16public: 16public:
17 explicit VKSamplerCache(const VKDevice& device); 17 explicit VKSamplerCache(const VKDevice& device_);
18 ~VKSamplerCache(); 18 ~VKSamplerCache();
19 19
20protected: 20protected:
diff --git a/src/video_core/renderer_vulkan/vk_scheduler.h b/src/video_core/renderer_vulkan/vk_scheduler.h
index 7be8a19f0..6d3a5da0b 100644
--- a/src/video_core/renderer_vulkan/vk_scheduler.h
+++ b/src/video_core/renderer_vulkan/vk_scheduler.h
@@ -104,7 +104,7 @@ private:
104 template <typename T> 104 template <typename T>
105 class TypedCommand final : public Command { 105 class TypedCommand final : public Command {
106 public: 106 public:
107 explicit TypedCommand(T&& command) : command{std::move(command)} {} 107 explicit TypedCommand(T&& command_) : command{std::move(command_)} {}
108 ~TypedCommand() override = default; 108 ~TypedCommand() override = default;
109 109
110 TypedCommand(TypedCommand&&) = delete; 110 TypedCommand(TypedCommand&&) = delete;
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
index fed9ebecd..7b0169acd 100644
--- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
+++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
@@ -55,8 +55,8 @@ enum class Type { Void, Bool, Bool2, Float, Int, Uint, HalfFloat };
55 55
56class Expression final { 56class Expression final {
57public: 57public:
58 Expression(Id id, Type type) : id{id}, type{type} { 58 Expression(Id id_, Type type_) : id{id_}, type{type_} {
59 ASSERT(type != Type::Void); 59 ASSERT(type_ != Type::Void);
60 } 60 }
61 Expression() : type{Type::Void} {} 61 Expression() : type{Type::Void} {}
62 62
@@ -281,12 +281,12 @@ u32 ShaderVersion(const VKDevice& device) {
281 281
282class SPIRVDecompiler final : public Sirit::Module { 282class SPIRVDecompiler final : public Sirit::Module {
283public: 283public:
284 explicit SPIRVDecompiler(const VKDevice& device, const ShaderIR& ir, ShaderType stage, 284 explicit SPIRVDecompiler(const VKDevice& device_, const ShaderIR& ir_, ShaderType stage_,
285 const Registry& registry, const Specialization& specialization) 285 const Registry& registry_, const Specialization& specialization_)
286 : Module(ShaderVersion(device)), device{device}, ir{ir}, stage{stage}, 286 : Module(ShaderVersion(device_)), device{device_}, ir{ir_}, stage{stage_},
287 header{ir.GetHeader()}, registry{registry}, specialization{specialization} { 287 header{ir_.GetHeader()}, registry{registry_}, specialization{specialization_} {
288 if (stage != ShaderType::Compute) { 288 if (stage_ != ShaderType::Compute) {
289 transform_feedback = BuildTransformFeedback(registry.GetGraphicsInfo()); 289 transform_feedback = BuildTransformFeedback(registry_.GetGraphicsInfo());
290 } 290 }
291 291
292 AddCapability(spv::Capability::Shader); 292 AddCapability(spv::Capability::Shader);
@@ -330,7 +330,7 @@ public:
330 if (device.IsFloat16Supported()) { 330 if (device.IsFloat16Supported()) {
331 AddCapability(spv::Capability::Float16); 331 AddCapability(spv::Capability::Float16);
332 } 332 }
333 t_scalar_half = Name(TypeFloat(device.IsFloat16Supported() ? 16 : 32), "scalar_half"); 333 t_scalar_half = Name(TypeFloat(device_.IsFloat16Supported() ? 16 : 32), "scalar_half");
334 t_half = Name(TypeVector(t_scalar_half, 2), "half"); 334 t_half = Name(TypeVector(t_scalar_half, 2), "half");
335 335
336 const Id main = Decompile(); 336 const Id main = Decompile();
@@ -1088,9 +1088,9 @@ private:
1088 indices.point_size = AddBuiltIn(t_float, spv::BuiltIn::PointSize, "point_size"); 1088 indices.point_size = AddBuiltIn(t_float, spv::BuiltIn::PointSize, "point_size");
1089 } 1089 }
1090 1090
1091 const auto& output_attributes = ir.GetOutputAttributes(); 1091 const auto& ir_output_attributes = ir.GetOutputAttributes();
1092 const bool declare_clip_distances = 1092 const bool declare_clip_distances = std::any_of(
1093 std::any_of(output_attributes.begin(), output_attributes.end(), [](const auto& index) { 1093 ir_output_attributes.begin(), ir_output_attributes.end(), [](const auto& index) {
1094 return index == Attribute::Index::ClipDistances0123 || 1094 return index == Attribute::Index::ClipDistances0123 ||
1095 index == Attribute::Index::ClipDistances4567; 1095 index == Attribute::Index::ClipDistances4567;
1096 }); 1096 });
@@ -2891,7 +2891,7 @@ private:
2891 2891
2892class ExprDecompiler { 2892class ExprDecompiler {
2893public: 2893public:
2894 explicit ExprDecompiler(SPIRVDecompiler& decomp) : decomp{decomp} {} 2894 explicit ExprDecompiler(SPIRVDecompiler& decomp_) : decomp{decomp_} {}
2895 2895
2896 Id operator()(const ExprAnd& expr) { 2896 Id operator()(const ExprAnd& expr) {
2897 const Id type_def = decomp.GetTypeDefinition(Type::Bool); 2897 const Id type_def = decomp.GetTypeDefinition(Type::Bool);
@@ -2947,7 +2947,7 @@ private:
2947 2947
2948class ASTDecompiler { 2948class ASTDecompiler {
2949public: 2949public:
2950 explicit ASTDecompiler(SPIRVDecompiler& decomp) : decomp{decomp} {} 2950 explicit ASTDecompiler(SPIRVDecompiler& decomp_) : decomp{decomp_} {}
2951 2951
2952 void operator()(const ASTProgram& ast) { 2952 void operator()(const ASTProgram& ast) {
2953 ASTNode current = ast.nodes.GetFirst(); 2953 ASTNode current = ast.nodes.GetFirst();
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.h b/src/video_core/renderer_vulkan/vk_shader_decompiler.h
index 110848922..df1812514 100644
--- a/src/video_core/renderer_vulkan/vk_shader_decompiler.h
+++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.h
@@ -30,8 +30,8 @@ constexpr u32 DESCRIPTOR_SET = 0;
30 30
31class ConstBufferEntry : public VideoCommon::Shader::ConstBuffer { 31class ConstBufferEntry : public VideoCommon::Shader::ConstBuffer {
32public: 32public:
33 explicit constexpr ConstBufferEntry(const VideoCommon::Shader::ConstBuffer& entry, u32 index) 33 explicit constexpr ConstBufferEntry(const ConstBuffer& entry_, u32 index_)
34 : VideoCommon::Shader::ConstBuffer{entry}, index{index} {} 34 : ConstBuffer{entry_}, index{index_} {}
35 35
36 constexpr u32 GetIndex() const { 36 constexpr u32 GetIndex() const {
37 return index; 37 return index;
@@ -43,8 +43,8 @@ private:
43 43
44class GlobalBufferEntry { 44class GlobalBufferEntry {
45public: 45public:
46 constexpr explicit GlobalBufferEntry(u32 cbuf_index, u32 cbuf_offset, bool is_written) 46 constexpr explicit GlobalBufferEntry(u32 cbuf_index_, u32 cbuf_offset_, bool is_written_)
47 : cbuf_index{cbuf_index}, cbuf_offset{cbuf_offset}, is_written{is_written} {} 47 : cbuf_index{cbuf_index_}, cbuf_offset{cbuf_offset_}, is_written{is_written_} {}
48 48
49 constexpr u32 GetCbufIndex() const { 49 constexpr u32 GetCbufIndex() const {
50 return cbuf_index; 50 return cbuf_index;
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
index f2c8f2ae1..64649699f 100644
--- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
@@ -180,19 +180,19 @@ VkImageCreateInfo GenerateImageCreateInfo(const VKDevice& device, const SurfaceP
180 return ci; 180 return ci;
181} 181}
182 182
183u32 EncodeSwizzle(Tegra::Texture::SwizzleSource x_source, Tegra::Texture::SwizzleSource y_source, 183u32 EncodeSwizzle(SwizzleSource x_source, SwizzleSource y_source, SwizzleSource z_source,
184 Tegra::Texture::SwizzleSource z_source, Tegra::Texture::SwizzleSource w_source) { 184 SwizzleSource w_source) {
185 return (static_cast<u32>(x_source) << 24) | (static_cast<u32>(y_source) << 16) | 185 return (static_cast<u32>(x_source) << 24) | (static_cast<u32>(y_source) << 16) |
186 (static_cast<u32>(z_source) << 8) | static_cast<u32>(w_source); 186 (static_cast<u32>(z_source) << 8) | static_cast<u32>(w_source);
187} 187}
188 188
189} // Anonymous namespace 189} // Anonymous namespace
190 190
191CachedSurface::CachedSurface(const VKDevice& device, VKMemoryManager& memory_manager, 191CachedSurface::CachedSurface(const VKDevice& device_, VKMemoryManager& memory_manager_,
192 VKScheduler& scheduler, VKStagingBufferPool& staging_pool, 192 VKScheduler& scheduler_, VKStagingBufferPool& staging_pool_,
193 GPUVAddr gpu_addr, const SurfaceParams& params) 193 GPUVAddr gpu_addr_, const SurfaceParams& params_)
194 : SurfaceBase<View>{gpu_addr, params, device.IsOptimalAstcSupported()}, device{device}, 194 : SurfaceBase<View>{gpu_addr_, params_, device_.IsOptimalAstcSupported()}, device{device_},
195 memory_manager{memory_manager}, scheduler{scheduler}, staging_pool{staging_pool} { 195 memory_manager{memory_manager_}, scheduler{scheduler_}, staging_pool{staging_pool_} {
196 if (params.IsBuffer()) { 196 if (params.IsBuffer()) {
197 buffer = CreateBuffer(device, params, host_memory_size); 197 buffer = CreateBuffer(device, params, host_memory_size);
198 commit = memory_manager.Commit(buffer, false); 198 commit = memory_manager.Commit(buffer, false);
@@ -234,7 +234,7 @@ void CachedSurface::UploadTexture(const std::vector<u8>& staging_buffer) {
234void CachedSurface::DownloadTexture(std::vector<u8>& staging_buffer) { 234void CachedSurface::DownloadTexture(std::vector<u8>& staging_buffer) {
235 UNIMPLEMENTED_IF(params.IsBuffer()); 235 UNIMPLEMENTED_IF(params.IsBuffer());
236 236
237 if (params.pixel_format == VideoCore::Surface::PixelFormat::A1B5G5R5_UNORM) { 237 if (params.pixel_format == PixelFormat::A1B5G5R5_UNORM) {
238 LOG_WARNING(Render_Vulkan, "A1B5G5R5 flushing is stubbed"); 238 LOG_WARNING(Render_Vulkan, "A1B5G5R5 flushing is stubbed");
239 } 239 }
240 240
@@ -244,10 +244,10 @@ void CachedSurface::DownloadTexture(std::vector<u8>& staging_buffer) {
244 FullTransition(VK_PIPELINE_STAGE_TRANSFER_BIT, VK_ACCESS_TRANSFER_READ_BIT, 244 FullTransition(VK_PIPELINE_STAGE_TRANSFER_BIT, VK_ACCESS_TRANSFER_READ_BIT,
245 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL); 245 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
246 246
247 const auto& buffer = staging_pool.GetUnusedBuffer(host_memory_size, true); 247 const auto& unused_buffer = staging_pool.GetUnusedBuffer(host_memory_size, true);
248 // TODO(Rodrigo): Do this in a single copy 248 // TODO(Rodrigo): Do this in a single copy
249 for (u32 level = 0; level < params.num_levels; ++level) { 249 for (u32 level = 0; level < params.num_levels; ++level) {
250 scheduler.Record([image = *image->GetHandle(), buffer = *buffer.handle, 250 scheduler.Record([image = *image->GetHandle(), buffer = *unused_buffer.handle,
251 copy = GetBufferImageCopy(level)](vk::CommandBuffer cmdbuf) { 251 copy = GetBufferImageCopy(level)](vk::CommandBuffer cmdbuf) {
252 cmdbuf.CopyImageToBuffer(image, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, buffer, copy); 252 cmdbuf.CopyImageToBuffer(image, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, buffer, copy);
253 }); 253 });
@@ -255,16 +255,17 @@ void CachedSurface::DownloadTexture(std::vector<u8>& staging_buffer) {
255 scheduler.Finish(); 255 scheduler.Finish();
256 256
257 // TODO(Rodrigo): Use an intern buffer for staging buffers and avoid this unnecessary memcpy. 257 // TODO(Rodrigo): Use an intern buffer for staging buffers and avoid this unnecessary memcpy.
258 std::memcpy(staging_buffer.data(), buffer.commit->Map(host_memory_size), host_memory_size); 258 std::memcpy(staging_buffer.data(), unused_buffer.commit->Map(host_memory_size),
259 host_memory_size);
259} 260}
260 261
261void CachedSurface::DecorateSurfaceName() { 262void CachedSurface::DecorateSurfaceName() {
262 // TODO(Rodrigo): Add name decorations 263 // TODO(Rodrigo): Add name decorations
263} 264}
264 265
265View CachedSurface::CreateView(const ViewParams& params) { 266View CachedSurface::CreateView(const ViewParams& view_params) {
266 // TODO(Rodrigo): Add name decorations 267 // TODO(Rodrigo): Add name decorations
267 return views[params] = std::make_shared<CachedSurfaceView>(device, *this, params); 268 return views[view_params] = std::make_shared<CachedSurfaceView>(device, *this, view_params);
268} 269}
269 270
270void CachedSurface::UploadBuffer(const std::vector<u8>& staging_buffer) { 271void CachedSurface::UploadBuffer(const std::vector<u8>& staging_buffer) {
@@ -348,21 +349,21 @@ VkImageSubresourceRange CachedSurface::GetImageSubresourceRange() const {
348 static_cast<u32>(params.GetNumLayers())}; 349 static_cast<u32>(params.GetNumLayers())};
349} 350}
350 351
351CachedSurfaceView::CachedSurfaceView(const VKDevice& device, CachedSurface& surface, 352CachedSurfaceView::CachedSurfaceView(const VKDevice& device_, CachedSurface& surface_,
352 const ViewParams& params) 353 const ViewParams& view_params_)
353 : VideoCommon::ViewBase{params}, params{surface.GetSurfaceParams()}, 354 : ViewBase{view_params_}, surface_params{surface_.GetSurfaceParams()},
354 image{surface.GetImageHandle()}, buffer_view{surface.GetBufferViewHandle()}, 355 image{surface_.GetImageHandle()}, buffer_view{surface_.GetBufferViewHandle()},
355 aspect_mask{surface.GetAspectMask()}, device{device}, surface{surface}, 356 aspect_mask{surface_.GetAspectMask()}, device{device_}, surface{surface_},
356 base_level{params.base_level}, num_levels{params.num_levels}, 357 base_level{view_params_.base_level}, num_levels{view_params_.num_levels},
357 image_view_type{image ? GetImageViewType(params.target) : VK_IMAGE_VIEW_TYPE_1D} { 358 image_view_type{image ? GetImageViewType(view_params_.target) : VK_IMAGE_VIEW_TYPE_1D} {
358 if (image_view_type == VK_IMAGE_VIEW_TYPE_3D) { 359 if (image_view_type == VK_IMAGE_VIEW_TYPE_3D) {
359 base_layer = 0; 360 base_layer = 0;
360 num_layers = 1; 361 num_layers = 1;
361 base_slice = params.base_layer; 362 base_slice = view_params_.base_layer;
362 num_slices = params.num_layers; 363 num_slices = view_params_.num_layers;
363 } else { 364 } else {
364 base_layer = params.base_layer; 365 base_layer = view_params_.base_layer;
365 num_layers = params.num_layers; 366 num_layers = view_params_.num_layers;
366 } 367 }
367} 368}
368 369
@@ -384,7 +385,7 @@ VkImageView CachedSurfaceView::GetImageView(SwizzleSource x_source, SwizzleSourc
384 385
385 std::array swizzle{MaxwellToVK::SwizzleSource(x_source), MaxwellToVK::SwizzleSource(y_source), 386 std::array swizzle{MaxwellToVK::SwizzleSource(x_source), MaxwellToVK::SwizzleSource(y_source),
386 MaxwellToVK::SwizzleSource(z_source), MaxwellToVK::SwizzleSource(w_source)}; 387 MaxwellToVK::SwizzleSource(z_source), MaxwellToVK::SwizzleSource(w_source)};
387 if (params.pixel_format == VideoCore::Surface::PixelFormat::A1B5G5R5_UNORM) { 388 if (surface_params.pixel_format == PixelFormat::A1B5G5R5_UNORM) {
388 // A1B5G5R5 is implemented as A1R5G5B5, we have to change the swizzle here. 389 // A1B5G5R5 is implemented as A1R5G5B5, we have to change the swizzle here.
389 std::swap(swizzle[0], swizzle[2]); 390 std::swap(swizzle[0], swizzle[2]);
390 } 391 }
@@ -395,12 +396,12 @@ VkImageView CachedSurfaceView::GetImageView(SwizzleSource x_source, SwizzleSourc
395 if (aspect == (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)) { 396 if (aspect == (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)) {
396 UNIMPLEMENTED_IF(x_source != SwizzleSource::R && x_source != SwizzleSource::G); 397 UNIMPLEMENTED_IF(x_source != SwizzleSource::R && x_source != SwizzleSource::G);
397 const bool is_first = x_source == SwizzleSource::R; 398 const bool is_first = x_source == SwizzleSource::R;
398 switch (params.pixel_format) { 399 switch (surface_params.pixel_format) {
399 case VideoCore::Surface::PixelFormat::D24_UNORM_S8_UINT: 400 case PixelFormat::D24_UNORM_S8_UINT:
400 case VideoCore::Surface::PixelFormat::D32_FLOAT_S8_UINT: 401 case PixelFormat::D32_FLOAT_S8_UINT:
401 aspect = is_first ? VK_IMAGE_ASPECT_DEPTH_BIT : VK_IMAGE_ASPECT_STENCIL_BIT; 402 aspect = is_first ? VK_IMAGE_ASPECT_DEPTH_BIT : VK_IMAGE_ASPECT_STENCIL_BIT;
402 break; 403 break;
403 case VideoCore::Surface::PixelFormat::S8_UINT_D24_UNORM: 404 case PixelFormat::S8_UINT_D24_UNORM:
404 aspect = is_first ? VK_IMAGE_ASPECT_STENCIL_BIT : VK_IMAGE_ASPECT_DEPTH_BIT; 405 aspect = is_first ? VK_IMAGE_ASPECT_STENCIL_BIT : VK_IMAGE_ASPECT_DEPTH_BIT;
405 break; 406 break;
406 default: 407 default:
@@ -417,7 +418,7 @@ VkImageView CachedSurfaceView::GetImageView(SwizzleSource x_source, SwizzleSourc
417 418
418 if (image_view_type == VK_IMAGE_VIEW_TYPE_3D) { 419 if (image_view_type == VK_IMAGE_VIEW_TYPE_3D) {
419 ASSERT(base_slice == 0); 420 ASSERT(base_slice == 0);
420 ASSERT(num_slices == params.depth); 421 ASSERT(num_slices == surface_params.depth);
421 } 422 }
422 423
423 image_view = device.GetLogical().CreateImageView({ 424 image_view = device.GetLogical().CreateImageView({
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.h b/src/video_core/renderer_vulkan/vk_texture_cache.h
index 39202feba..06880f228 100644
--- a/src/video_core/renderer_vulkan/vk_texture_cache.h
+++ b/src/video_core/renderer_vulkan/vk_texture_cache.h
@@ -40,9 +40,9 @@ class CachedSurface final : public VideoCommon::SurfaceBase<View> {
40 friend CachedSurfaceView; 40 friend CachedSurfaceView;
41 41
42public: 42public:
43 explicit CachedSurface(const VKDevice& device, VKMemoryManager& memory_manager, 43 explicit CachedSurface(const VKDevice& device_, VKMemoryManager& memory_manager_,
44 VKScheduler& scheduler, VKStagingBufferPool& staging_pool, 44 VKScheduler& scheduler_, VKStagingBufferPool& staging_pool_,
45 GPUVAddr gpu_addr, const SurfaceParams& params); 45 GPUVAddr gpu_addr_, const SurfaceParams& params_);
46 ~CachedSurface(); 46 ~CachedSurface();
47 47
48 void UploadTexture(const std::vector<u8>& staging_buffer) override; 48 void UploadTexture(const std::vector<u8>& staging_buffer) override;
@@ -84,7 +84,7 @@ public:
84protected: 84protected:
85 void DecorateSurfaceName(); 85 void DecorateSurfaceName();
86 86
87 View CreateView(const ViewParams& params) override; 87 View CreateView(const ViewParams& view_params) override;
88 88
89private: 89private:
90 void UploadBuffer(const std::vector<u8>& staging_buffer); 90 void UploadBuffer(const std::vector<u8>& staging_buffer);
@@ -110,8 +110,8 @@ private:
110 110
111class CachedSurfaceView final : public VideoCommon::ViewBase { 111class CachedSurfaceView final : public VideoCommon::ViewBase {
112public: 112public:
113 explicit CachedSurfaceView(const VKDevice& device, CachedSurface& surface, 113 explicit CachedSurfaceView(const VKDevice& device_, CachedSurface& surface_,
114 const ViewParams& params); 114 const ViewParams& view_params_);
115 ~CachedSurfaceView(); 115 ~CachedSurfaceView();
116 116
117 VkImageView GetImageView(Tegra::Texture::SwizzleSource x_source, 117 VkImageView GetImageView(Tegra::Texture::SwizzleSource x_source,
@@ -126,11 +126,11 @@ public:
126 } 126 }
127 127
128 u32 GetWidth() const { 128 u32 GetWidth() const {
129 return params.GetMipWidth(base_level); 129 return surface_params.GetMipWidth(base_level);
130 } 130 }
131 131
132 u32 GetHeight() const { 132 u32 GetHeight() const {
133 return params.GetMipHeight(base_level); 133 return surface_params.GetMipHeight(base_level);
134 } 134 }
135 135
136 u32 GetNumLayers() const { 136 u32 GetNumLayers() const {
@@ -169,7 +169,7 @@ public:
169 169
170private: 170private:
171 // Store a copy of these values to avoid double dereference when reading them 171 // Store a copy of these values to avoid double dereference when reading them
172 const SurfaceParams params; 172 const SurfaceParams surface_params;
173 const VkImage image; 173 const VkImage image;
174 const VkBufferView buffer_view; 174 const VkBufferView buffer_view;
175 const VkImageAspectFlags aspect_mask; 175 const VkImageAspectFlags aspect_mask;
diff --git a/src/video_core/renderer_vulkan/vk_update_descriptor.cpp b/src/video_core/renderer_vulkan/vk_update_descriptor.cpp
index 351c048d2..8826da325 100644
--- a/src/video_core/renderer_vulkan/vk_update_descriptor.cpp
+++ b/src/video_core/renderer_vulkan/vk_update_descriptor.cpp
@@ -14,8 +14,8 @@
14 14
15namespace Vulkan { 15namespace Vulkan {
16 16
17VKUpdateDescriptorQueue::VKUpdateDescriptorQueue(const VKDevice& device, VKScheduler& scheduler) 17VKUpdateDescriptorQueue::VKUpdateDescriptorQueue(const VKDevice& device_, VKScheduler& scheduler_)
18 : device{device}, scheduler{scheduler} {} 18 : device{device_}, scheduler{scheduler_} {}
19 19
20VKUpdateDescriptorQueue::~VKUpdateDescriptorQueue() = default; 20VKUpdateDescriptorQueue::~VKUpdateDescriptorQueue() = default;
21 21
diff --git a/src/video_core/renderer_vulkan/vk_update_descriptor.h b/src/video_core/renderer_vulkan/vk_update_descriptor.h
index 945320c72..f7e3c9821 100644
--- a/src/video_core/renderer_vulkan/vk_update_descriptor.h
+++ b/src/video_core/renderer_vulkan/vk_update_descriptor.h
@@ -31,7 +31,7 @@ struct DescriptorUpdateEntry {
31 31
32class VKUpdateDescriptorQueue final { 32class VKUpdateDescriptorQueue final {
33public: 33public:
34 explicit VKUpdateDescriptorQueue(const VKDevice& device, VKScheduler& scheduler); 34 explicit VKUpdateDescriptorQueue(const VKDevice& device_, VKScheduler& scheduler_);
35 ~VKUpdateDescriptorQueue(); 35 ~VKUpdateDescriptorQueue();
36 36
37 void TickFrame(); 37 void TickFrame();
diff --git a/src/video_core/renderer_vulkan/wrapper.cpp b/src/video_core/renderer_vulkan/wrapper.cpp
index 4e83303d8..1eced809e 100644
--- a/src/video_core/renderer_vulkan/wrapper.cpp
+++ b/src/video_core/renderer_vulkan/wrapper.cpp
@@ -417,7 +417,7 @@ VkResult Free(VkDevice device, VkCommandPool handle, Span<VkCommandBuffer> buffe
417} 417}
418 418
419Instance Instance::Create(u32 version, Span<const char*> layers, Span<const char*> extensions, 419Instance Instance::Create(u32 version, Span<const char*> layers, Span<const char*> extensions,
420 InstanceDispatch& dld) noexcept { 420 InstanceDispatch& dispatch) noexcept {
421 const VkApplicationInfo application_info{ 421 const VkApplicationInfo application_info{
422 .sType = VK_STRUCTURE_TYPE_APPLICATION_INFO, 422 .sType = VK_STRUCTURE_TYPE_APPLICATION_INFO,
423 .pNext = nullptr, 423 .pNext = nullptr,
@@ -439,17 +439,17 @@ Instance Instance::Create(u32 version, Span<const char*> layers, Span<const char
439 }; 439 };
440 440
441 VkInstance instance; 441 VkInstance instance;
442 if (dld.vkCreateInstance(&ci, nullptr, &instance) != VK_SUCCESS) { 442 if (dispatch.vkCreateInstance(&ci, nullptr, &instance) != VK_SUCCESS) {
443 // Failed to create the instance. 443 // Failed to create the instance.
444 return {}; 444 return {};
445 } 445 }
446 if (!Proc(dld.vkDestroyInstance, dld, "vkDestroyInstance", instance)) { 446 if (!Proc(dispatch.vkDestroyInstance, dispatch, "vkDestroyInstance", instance)) {
447 // We successfully created an instance but the destroy function couldn't be loaded. 447 // We successfully created an instance but the destroy function couldn't be loaded.
448 // This is a good moment to panic. 448 // This is a good moment to panic.
449 return {}; 449 return {};
450 } 450 }
451 451
452 return Instance(instance, dld); 452 return Instance(instance, dispatch);
453} 453}
454 454
455std::optional<std::vector<VkPhysicalDevice>> Instance::EnumeratePhysicalDevices() { 455std::optional<std::vector<VkPhysicalDevice>> Instance::EnumeratePhysicalDevices() {
@@ -540,7 +540,7 @@ std::vector<VkImage> SwapchainKHR::GetImages() const {
540 540
541Device Device::Create(VkPhysicalDevice physical_device, Span<VkDeviceQueueCreateInfo> queues_ci, 541Device Device::Create(VkPhysicalDevice physical_device, Span<VkDeviceQueueCreateInfo> queues_ci,
542 Span<const char*> enabled_extensions, const void* next, 542 Span<const char*> enabled_extensions, const void* next,
543 DeviceDispatch& dld) noexcept { 543 DeviceDispatch& dispatch) noexcept {
544 const VkDeviceCreateInfo ci{ 544 const VkDeviceCreateInfo ci{
545 .sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, 545 .sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
546 .pNext = next, 546 .pNext = next,
@@ -555,11 +555,11 @@ Device Device::Create(VkPhysicalDevice physical_device, Span<VkDeviceQueueCreate
555 }; 555 };
556 556
557 VkDevice device; 557 VkDevice device;
558 if (dld.vkCreateDevice(physical_device, &ci, nullptr, &device) != VK_SUCCESS) { 558 if (dispatch.vkCreateDevice(physical_device, &ci, nullptr, &device) != VK_SUCCESS) {
559 return {}; 559 return {};
560 } 560 }
561 Load(device, dld); 561 Load(device, dispatch);
562 return Device(device, dld); 562 return Device(device, dispatch);
563} 563}
564 564
565Queue Device::GetQueue(u32 family_index) const noexcept { 565Queue Device::GetQueue(u32 family_index) const noexcept {
diff --git a/src/video_core/renderer_vulkan/wrapper.h b/src/video_core/renderer_vulkan/wrapper.h
index f64919623..76f790eab 100644
--- a/src/video_core/renderer_vulkan/wrapper.h
+++ b/src/video_core/renderer_vulkan/wrapper.h
@@ -52,7 +52,7 @@ public:
52 52
53 /// Construct a span from a pointer and a size. 53 /// Construct a span from a pointer and a size.
54 /// This is inteded for subranges. 54 /// This is inteded for subranges.
55 constexpr Span(const T* ptr, std::size_t num) noexcept : ptr{ptr}, num{num} {} 55 constexpr Span(const T* ptr_, std::size_t num_) noexcept : ptr{ptr_}, num{num_} {}
56 56
57 /// Returns the data pointer by the span. 57 /// Returns the data pointer by the span.
58 constexpr const T* data() const noexcept { 58 constexpr const T* data() const noexcept {
@@ -469,9 +469,10 @@ public:
469 PoolAllocations() = default; 469 PoolAllocations() = default;
470 470
471 /// Construct an allocation. Errors are reported through IsOutOfPoolMemory(). 471 /// Construct an allocation. Errors are reported through IsOutOfPoolMemory().
472 explicit PoolAllocations(std::unique_ptr<AllocationType[]> allocations, std::size_t num, 472 explicit PoolAllocations(std::unique_ptr<AllocationType[]> allocations_, std::size_t num_,
473 VkDevice device, PoolType pool, const DeviceDispatch& dld) noexcept 473 VkDevice device_, PoolType pool_, const DeviceDispatch& dld_) noexcept
474 : allocations{std::move(allocations)}, num{num}, device{device}, pool{pool}, dld{&dld} {} 474 : allocations{std::move(allocations_)}, num{num_}, device{device_}, pool{pool_},
475 dld{&dld_} {}
475 476
476 /// Copying Vulkan allocations is not supported and will never be. 477 /// Copying Vulkan allocations is not supported and will never be.
477 PoolAllocations(const PoolAllocations&) = delete; 478 PoolAllocations(const PoolAllocations&) = delete;
@@ -565,7 +566,7 @@ class Instance : public Handle<VkInstance, NoOwner, InstanceDispatch> {
565public: 566public:
566 /// Creates a Vulkan instance. Use "operator bool" for error handling. 567 /// Creates a Vulkan instance. Use "operator bool" for error handling.
567 static Instance Create(u32 version, Span<const char*> layers, Span<const char*> extensions, 568 static Instance Create(u32 version, Span<const char*> layers, Span<const char*> extensions,
568 InstanceDispatch& dld) noexcept; 569 InstanceDispatch& dispatch) noexcept;
569 570
570 /// Enumerates physical devices. 571 /// Enumerates physical devices.
571 /// @return Physical devices and an empty handle on failure. 572 /// @return Physical devices and an empty handle on failure.
@@ -581,7 +582,8 @@ public:
581 constexpr Queue() noexcept = default; 582 constexpr Queue() noexcept = default;
582 583
583 /// Construct a queue handle. 584 /// Construct a queue handle.
584 constexpr Queue(VkQueue queue, const DeviceDispatch& dld) noexcept : queue{queue}, dld{&dld} {} 585 constexpr Queue(VkQueue queue_, const DeviceDispatch& dld_) noexcept
586 : queue{queue_}, dld{&dld_} {}
585 587
586 VkResult Submit(Span<VkSubmitInfo> submit_infos, 588 VkResult Submit(Span<VkSubmitInfo> submit_infos,
587 VkFence fence = VK_NULL_HANDLE) const noexcept { 589 VkFence fence = VK_NULL_HANDLE) const noexcept {
@@ -720,7 +722,7 @@ class Device : public Handle<VkDevice, NoOwner, DeviceDispatch> {
720public: 722public:
721 static Device Create(VkPhysicalDevice physical_device, Span<VkDeviceQueueCreateInfo> queues_ci, 723 static Device Create(VkPhysicalDevice physical_device, Span<VkDeviceQueueCreateInfo> queues_ci,
722 Span<const char*> enabled_extensions, const void* next, 724 Span<const char*> enabled_extensions, const void* next,
723 DeviceDispatch& dld) noexcept; 725 DeviceDispatch& dispatch) noexcept;
724 726
725 Queue GetQueue(u32 family_index) const noexcept; 727 Queue GetQueue(u32 family_index) const noexcept;
726 728
@@ -809,8 +811,9 @@ class PhysicalDevice {
809public: 811public:
810 constexpr PhysicalDevice() noexcept = default; 812 constexpr PhysicalDevice() noexcept = default;
811 813
812 constexpr PhysicalDevice(VkPhysicalDevice physical_device, const InstanceDispatch& dld) noexcept 814 constexpr PhysicalDevice(VkPhysicalDevice physical_device_,
813 : physical_device{physical_device}, dld{&dld} {} 815 const InstanceDispatch& dld_) noexcept
816 : physical_device{physical_device_}, dld{&dld_} {}
814 817
815 constexpr operator VkPhysicalDevice() const noexcept { 818 constexpr operator VkPhysicalDevice() const noexcept {
816 return physical_device; 819 return physical_device;
@@ -849,8 +852,8 @@ class CommandBuffer {
849public: 852public:
850 CommandBuffer() noexcept = default; 853 CommandBuffer() noexcept = default;
851 854
852 explicit CommandBuffer(VkCommandBuffer handle, const DeviceDispatch& dld) noexcept 855 explicit CommandBuffer(VkCommandBuffer handle_, const DeviceDispatch& dld_) noexcept
853 : handle{handle}, dld{&dld} {} 856 : handle{handle_}, dld{&dld_} {}
854 857
855 const VkCommandBuffer* address() const noexcept { 858 const VkCommandBuffer* address() const noexcept {
856 return &handle; 859 return &handle;
diff --git a/src/video_core/shader/control_flow.cpp b/src/video_core/shader/control_flow.cpp
index 4c8971615..d656e0668 100644
--- a/src/video_core/shader/control_flow.cpp
+++ b/src/video_core/shader/control_flow.cpp
@@ -241,10 +241,10 @@ std::pair<ParseResult, ParseInfo> ParseCode(CFGRebuildState& state, u32 address)
241 ParseInfo parse_info{}; 241 ParseInfo parse_info{};
242 SingleBranch single_branch{}; 242 SingleBranch single_branch{};
243 243
244 const auto insert_label = [](CFGRebuildState& state, u32 address) { 244 const auto insert_label = [](CFGRebuildState& rebuild_state, u32 label_address) {
245 const auto pair = state.labels.emplace(address); 245 const auto pair = rebuild_state.labels.emplace(label_address);
246 if (pair.second) { 246 if (pair.second) {
247 state.inspect_queries.push_back(address); 247 rebuild_state.inspect_queries.push_back(label_address);
248 } 248 }
249 }; 249 };
250 250
diff --git a/src/video_core/shader/decode/image.cpp b/src/video_core/shader/decode/image.cpp
index 1ed4212ee..532f66d27 100644
--- a/src/video_core/shader/decode/image.cpp
+++ b/src/video_core/shader/decode/image.cpp
@@ -358,9 +358,9 @@ u32 ShaderIR::DecodeImage(NodeBlock& bb, u32 pc) {
358 instr.suldst.GetStoreDataLayout() != StoreType::Bits64); 358 instr.suldst.GetStoreDataLayout() != StoreType::Bits64);
359 359
360 auto descriptor = [this, instr] { 360 auto descriptor = [this, instr] {
361 std::optional<Tegra::Engines::SamplerDescriptor> descriptor; 361 std::optional<Tegra::Engines::SamplerDescriptor> sampler_descriptor;
362 if (instr.suldst.is_immediate) { 362 if (instr.suldst.is_immediate) {
363 descriptor = 363 sampler_descriptor =
364 registry.ObtainBoundSampler(static_cast<u32>(instr.image.index.Value())); 364 registry.ObtainBoundSampler(static_cast<u32>(instr.image.index.Value()));
365 } else { 365 } else {
366 const Node image_register = GetRegister(instr.gpr39); 366 const Node image_register = GetRegister(instr.gpr39);
@@ -368,12 +368,12 @@ u32 ShaderIR::DecodeImage(NodeBlock& bb, u32 pc) {
368 static_cast<s64>(global_code.size())); 368 static_cast<s64>(global_code.size()));
369 const auto buffer = std::get<1>(result); 369 const auto buffer = std::get<1>(result);
370 const auto offset = std::get<2>(result); 370 const auto offset = std::get<2>(result);
371 descriptor = registry.ObtainBindlessSampler(buffer, offset); 371 sampler_descriptor = registry.ObtainBindlessSampler(buffer, offset);
372 } 372 }
373 if (!descriptor) { 373 if (!sampler_descriptor) {
374 UNREACHABLE_MSG("Failed to obtain image descriptor"); 374 UNREACHABLE_MSG("Failed to obtain image descriptor");
375 } 375 }
376 return *descriptor; 376 return *sampler_descriptor;
377 }(); 377 }();
378 378
379 const auto comp_mask = GetImageComponentMask(descriptor.format); 379 const auto comp_mask = GetImageComponentMask(descriptor.format);
diff --git a/src/video_core/shader/decode/other.cpp b/src/video_core/shader/decode/other.cpp
index 29a7cfbfe..1db500bc4 100644
--- a/src/video_core/shader/decode/other.cpp
+++ b/src/video_core/shader/decode/other.cpp
@@ -90,11 +90,11 @@ u32 ShaderIR::DecodeOther(NodeBlock& bb, u32 pc) {
90 UNIMPLEMENTED_MSG("S2R WscaleFactorZ is not implemented"); 90 UNIMPLEMENTED_MSG("S2R WscaleFactorZ is not implemented");
91 return Immediate(0U); 91 return Immediate(0U);
92 case SystemVariable::Tid: { 92 case SystemVariable::Tid: {
93 Node value = Immediate(0); 93 Node val = Immediate(0);
94 value = BitfieldInsert(value, Operation(OperationCode::LocalInvocationIdX), 0, 9); 94 val = BitfieldInsert(val, Operation(OperationCode::LocalInvocationIdX), 0, 9);
95 value = BitfieldInsert(value, Operation(OperationCode::LocalInvocationIdY), 16, 9); 95 val = BitfieldInsert(val, Operation(OperationCode::LocalInvocationIdY), 16, 9);
96 value = BitfieldInsert(value, Operation(OperationCode::LocalInvocationIdZ), 26, 5); 96 val = BitfieldInsert(val, Operation(OperationCode::LocalInvocationIdZ), 26, 5);
97 return value; 97 return val;
98 } 98 }
99 case SystemVariable::TidX: 99 case SystemVariable::TidX:
100 return Operation(OperationCode::LocalInvocationIdX); 100 return Operation(OperationCode::LocalInvocationIdX);
diff --git a/src/video_core/texture_cache/surface_base.cpp b/src/video_core/texture_cache/surface_base.cpp
index b44c09d71..42a1c0c6f 100644
--- a/src/video_core/texture_cache/surface_base.cpp
+++ b/src/video_core/texture_cache/surface_base.cpp
@@ -167,27 +167,28 @@ std::vector<CopyParams> SurfaceBaseImpl::BreakDownNonLayered(const SurfaceParams
167 return result; 167 return result;
168} 168}
169 169
170void SurfaceBaseImpl::SwizzleFunc(MortonSwizzleMode mode, u8* memory, const SurfaceParams& params, 170void SurfaceBaseImpl::SwizzleFunc(MortonSwizzleMode mode, u8* memory,
171 u8* buffer, u32 level) { 171 const SurfaceParams& surface_params, u8* buffer, u32 level) {
172 const u32 width{params.GetMipWidth(level)}; 172 const u32 width{surface_params.GetMipWidth(level)};
173 const u32 height{params.GetMipHeight(level)}; 173 const u32 height{surface_params.GetMipHeight(level)};
174 const u32 block_height{params.GetMipBlockHeight(level)}; 174 const u32 block_height{surface_params.GetMipBlockHeight(level)};
175 const u32 block_depth{params.GetMipBlockDepth(level)}; 175 const u32 block_depth{surface_params.GetMipBlockDepth(level)};
176 176
177 std::size_t guest_offset{mipmap_offsets[level]}; 177 std::size_t guest_offset{mipmap_offsets[level]};
178 if (params.is_layered) { 178 if (surface_params.is_layered) {
179 std::size_t host_offset = 0; 179 std::size_t host_offset = 0;
180 const std::size_t guest_stride = layer_size; 180 const std::size_t guest_stride = layer_size;
181 const std::size_t host_stride = params.GetHostLayerSize(level); 181 const std::size_t host_stride = surface_params.GetHostLayerSize(level);
182 for (u32 layer = 0; layer < params.depth; ++layer) { 182 for (u32 layer = 0; layer < surface_params.depth; ++layer) {
183 MortonSwizzle(mode, params.pixel_format, width, block_height, height, block_depth, 1, 183 MortonSwizzle(mode, surface_params.pixel_format, width, block_height, height,
184 params.tile_width_spacing, buffer + host_offset, memory + guest_offset); 184 block_depth, 1, surface_params.tile_width_spacing, buffer + host_offset,
185 memory + guest_offset);
185 guest_offset += guest_stride; 186 guest_offset += guest_stride;
186 host_offset += host_stride; 187 host_offset += host_stride;
187 } 188 }
188 } else { 189 } else {
189 MortonSwizzle(mode, params.pixel_format, width, block_height, height, block_depth, 190 MortonSwizzle(mode, surface_params.pixel_format, width, block_height, height, block_depth,
190 params.GetMipDepth(level), params.tile_width_spacing, buffer, 191 surface_params.GetMipDepth(level), surface_params.tile_width_spacing, buffer,
191 memory + guest_offset); 192 memory + guest_offset);
192 } 193 }
193} 194}
diff --git a/src/video_core/texture_cache/surface_base.h b/src/video_core/texture_cache/surface_base.h
index 173f2edba..cfcfa5b3a 100644
--- a/src/video_core/texture_cache/surface_base.h
+++ b/src/video_core/texture_cache/surface_base.h
@@ -167,8 +167,8 @@ protected:
167 std::vector<std::size_t> mipmap_offsets; 167 std::vector<std::size_t> mipmap_offsets;
168 168
169private: 169private:
170 void SwizzleFunc(MortonSwizzleMode mode, u8* memory, const SurfaceParams& params, u8* buffer, 170 void SwizzleFunc(MortonSwizzleMode mode, u8* memory, const SurfaceParams& surface_params,
171 u32 level); 171 u8* buffer, u32 level);
172 172
173 std::vector<CopyParams> BreakDownLayered(const SurfaceParams& in_params) const; 173 std::vector<CopyParams> BreakDownLayered(const SurfaceParams& in_params) const;
174 174
diff --git a/src/video_core/texture_cache/surface_params.cpp b/src/video_core/texture_cache/surface_params.cpp
index 13dd16356..305297719 100644
--- a/src/video_core/texture_cache/surface_params.cpp
+++ b/src/video_core/texture_cache/surface_params.cpp
@@ -356,18 +356,18 @@ std::size_t SurfaceParams::GetLayerSize(bool as_host_size, bool uncompressed) co
356 356
357std::size_t SurfaceParams::GetInnerMipmapMemorySize(u32 level, bool as_host_size, 357std::size_t SurfaceParams::GetInnerMipmapMemorySize(u32 level, bool as_host_size,
358 bool uncompressed) const { 358 bool uncompressed) const {
359 const u32 width{GetMipmapSize(uncompressed, GetMipWidth(level), GetDefaultBlockWidth())}; 359 const u32 mip_width{GetMipmapSize(uncompressed, GetMipWidth(level), GetDefaultBlockWidth())};
360 const u32 height{GetMipmapSize(uncompressed, GetMipHeight(level), GetDefaultBlockHeight())}; 360 const u32 mip_height{GetMipmapSize(uncompressed, GetMipHeight(level), GetDefaultBlockHeight())};
361 const u32 depth{is_layered ? 1U : GetMipDepth(level)}; 361 const u32 mip_depth{is_layered ? 1U : GetMipDepth(level)};
362 if (is_tiled) { 362 if (is_tiled) {
363 return Tegra::Texture::CalculateSize(!as_host_size, GetBytesPerPixel(), width, height, 363 return Tegra::Texture::CalculateSize(!as_host_size, GetBytesPerPixel(), mip_width,
364 depth, GetMipBlockHeight(level), 364 mip_height, mip_depth, GetMipBlockHeight(level),
365 GetMipBlockDepth(level)); 365 GetMipBlockDepth(level));
366 } else if (as_host_size || IsBuffer()) { 366 } else if (as_host_size || IsBuffer()) {
367 return GetBytesPerPixel() * width * height * depth; 367 return GetBytesPerPixel() * mip_width * mip_height * mip_depth;
368 } else { 368 } else {
369 // Linear Texture Case 369 // Linear Texture Case
370 return pitch * height * depth; 370 return pitch * mip_height * mip_depth;
371 } 371 }
372} 372}
373 373