@@ -6860,8 +6860,6 @@ VkResult VulkanReplayConsumerBase::OverrideCreateShaderModule(
68606860
68616861 // Replace shader in 'override_info'
68626862 std::unique_ptr<char[]> file_code;
6863- const uint32_t* const orig_code = original_info->pCode;
6864- const size_t orig_size = original_info->codeSize;
68656863 uint64_t handle_id = *pShaderModule->GetPointer();
68666864 std::string file_name = "sh" + std::to_string(handle_id);
68676865 std::string file_path = util::filepath::Join(options_.replace_shader_dir, file_name);
@@ -8151,7 +8149,9 @@ VulkanReplayConsumerBase::OverrideQueuePresentKHR(PFN_vkQueuePresentKHR
81518149 // If a swapchain was removed, pNext stucts that reference the swapchain need to be modified as well.
81528150 if (!removed_swapchain_indices_.empty())
81538151 {
8154- const VkBaseInStructure* next = reinterpret_cast<const VkBaseInStructure*>(modified_present_info.pNext);
8152+ VkBaseInStructure* next =
8153+ reinterpret_cast<VkBaseInStructure*>(const_cast<void*>(modified_present_info.pNext));
8154+ VkBaseInStructure* prev = reinterpret_cast<VkBaseInStructure*>(&modified_present_info);
81558155 while (next != nullptr)
81568156 {
81578157 switch (next->sType)
@@ -8178,7 +8178,7 @@ VulkanReplayConsumerBase::OverrideQueuePresentKHR(PFN_vkQueuePresentKHR
81788178 static_cast<uint32_t>(modified_device_masks_.size());
81798179 modified_device_group_present_info.pDeviceMasks = modified_device_masks_.data();
81808180 modified_device_group_present_info.mode = pNext->mode;
8181- pNext = &modified_device_group_present_info;
8181+ prev-> pNext = (const VkBaseInStructure*) &modified_device_group_present_info;
81828182 }
81838183 break;
81848184 }
@@ -8202,7 +8202,7 @@ VulkanReplayConsumerBase::OverrideQueuePresentKHR(PFN_vkQueuePresentKHR
82028202 modified_present_region_info.swapchainCount =
82038203 static_cast<uint32_t>(modified_regions_.size());
82048204 modified_present_region_info.pRegions = modified_regions_.data();
8205- pNext = &modified_present_region_info;
8205+ prev-> pNext = (const VkBaseInStructure*) &modified_present_region_info;
82068206 }
82078207 break;
82088208 }
@@ -8225,15 +8225,16 @@ VulkanReplayConsumerBase::OverrideQueuePresentKHR(PFN_vkQueuePresentKHR
82258225 modified_present_times_info.pNext = pNext->pNext;
82268226 modified_present_times_info.swapchainCount = static_cast<uint32_t>(modified_times_.size());
82278227 modified_present_times_info.pTimes = modified_times_.data();
8228- pNext = &modified_present_times_info;
8228+ prev-> pNext = (const VkBaseInStructure*) &modified_present_times_info;
82298229 }
82308230 break;
82318231 }
82328232 default:
82338233 break;
82348234 }
82358235
8236- next = reinterpret_cast<const VkBaseInStructure*>(next->pNext);
8236+ prev = next;
8237+ next = const_cast<VkBaseInStructure*>(next->pNext);
82378238 }
82388239 }
82398240
@@ -11191,6 +11192,7 @@ void VulkanReplayConsumerBase::OverrideUpdateDescriptorSets(
1119111192 create_info->codeSize = file_size;
1119211193 GFXRECON_LOG_INFO("Replacement shader found: %s", file_path.c_str());
1119311194 replaced_file_code.emplace_back(std::move(file_code));
11195+ util::platform::FileClose(fp);
1119411196 }
1119511197 }
1119611198 pNext = const_cast<VkBaseInStructure*>(base->pNext);
@@ -11335,8 +11337,6 @@ VkResult VulkanReplayConsumerBase::OverrideCreateComputePipelines(
1133511337 for (size_t i = 0; i < create_info_count; i++)
1133611338 {
1133711339 auto* create_info = &create_infos[i];
11338- const void* orig_code = create_info->pCode;
11339- size_t orig_size = create_info->codeSize;
1134011340 uint64_t handle_id = shaders[i];
1134111341 std::string file_name = "sh" + std::to_string(handle_id);
1134211342 std::string file_path = util::filepath::Join(options_.replace_shader_dir, file_name);
@@ -11354,6 +11354,7 @@ VkResult VulkanReplayConsumerBase::OverrideCreateComputePipelines(
1135411354 create_info->codeSize = file_size;
1135511355 GFXRECON_LOG_INFO("Replacement shader found: %s", file_path.c_str());
1135611356 replaced_file_code.emplace_back(std::move(file_code));
11357+ util::platform::FileClose(fp);
1135711358 }
1135811359 }
1135911360
0 commit comments