@@ -2287,7 +2287,7 @@ class VulkanDevice : public offloadtest::Device {
22872287 ImageBarrier.subresourceRange .baseArrayLayer = 0 ;
22882288 ImageBarrier.subresourceRange .layerCount = ArrayLayers;
22892289
2290- vkCmdPipelineBarrier (IS.CmdBuffer , VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
2290+ vkCmdPipelineBarrier (IS.CB -> CmdBuffer , VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
22912291 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0 , 0 , nullptr ,
22922292 0 , nullptr , 1 , &ImageBarrier);
22932293
@@ -2302,7 +2302,7 @@ class VulkanDevice : public offloadtest::Device {
23022302 BufferBarrier.offset = 0 ;
23032303 BufferBarrier.size = VK_WHOLE_SIZE;
23042304
2305- vkCmdPipelineBarrier (IS.CmdBuffer , VK_PIPELINE_STAGE_HOST_BIT,
2305+ vkCmdPipelineBarrier (IS.CB -> CmdBuffer , VK_PIPELINE_STAGE_HOST_BIT,
23062306 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0 , 0 , nullptr ,
23072307 1 , &BufferBarrier, 0 , nullptr );
23082308
@@ -2351,13 +2351,14 @@ class VulkanDevice : public offloadtest::Device {
23512351 vkUpdateDescriptorSets (Device, 2 , Writes, 0 , nullptr );
23522352
23532353 // 7. Dispatch one invocation per (x, y, layer-sample pair).
2354- vkCmdBindPipeline (IS.CmdBuffer , VK_PIPELINE_BIND_POINT_COMPUTE, Pipeline);
2355- vkCmdBindDescriptorSets (IS.CmdBuffer , VK_PIPELINE_BIND_POINT_COMPUTE,
2354+ vkCmdBindPipeline (IS.CB ->CmdBuffer , VK_PIPELINE_BIND_POINT_COMPUTE,
2355+ Pipeline);
2356+ vkCmdBindDescriptorSets (IS.CB ->CmdBuffer , VK_PIPELINE_BIND_POINT_COMPUTE,
23562357 PipelineLayout, 0 , 1 , &DescriptorSets[I], 0 ,
23572358 nullptr );
2358- vkCmdPushConstants (IS.CmdBuffer , PipelineLayout,
2359+ vkCmdPushConstants (IS.CB -> CmdBuffer , PipelineLayout,
23592360 VK_SHADER_STAGE_COMPUTE_BIT, 0 , sizeof (PC), &PC);
2360- vkCmdDispatch (IS.CmdBuffer , PC.Width , PC.Height ,
2361+ vkCmdDispatch (IS.CB -> CmdBuffer , PC.Width , PC.Height ,
23612362 PC.SampleCount * PC.ArrayLayers );
23622363
23632364 // 8. Make writes visible to later shader reads.
@@ -2367,7 +2368,7 @@ class VulkanDevice : public offloadtest::Device {
23672368 ImageBarrier.newLayout = VK_IMAGE_LAYOUT_GENERAL;
23682369
23692370 vkCmdPipelineBarrier (
2370- IS.CmdBuffer , VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
2371+ IS.CB -> CmdBuffer , VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
23712372 getPipelineStageMaskForShaderStages (IS.getFullShaderStageMask ()), 0 ,
23722373 0 , nullptr , 0 , nullptr , 1 , &ImageBarrier);
23732374
@@ -2505,10 +2506,10 @@ class VulkanDevice : public offloadtest::Device {
25052506
25062507 for (auto &ResRef : R.ResourceRefs ) {
25072508 ImageBarrier.image = ResRef.Image .Image ;
2508- vkCmdPipelineBarrier (IS. CB -> CmdBuffer ,
2509- VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT ,
2510- VK_PIPELINE_STAGE_TRANSFER_BIT, 0 , 0 , nullptr , 0 ,
2511- nullptr , 1 , &ImageBarrier);
2509+ vkCmdPipelineBarrier (
2510+ IS. CB -> CmdBuffer , VK_PIPELINE_STAGE_TRANSFER_BIT ,
2511+ getPipelineStageMaskForShaderStages (IS. getFullShaderStageMask ()) , 0 ,
2512+ 0 , nullptr , 0 , nullptr , 1 , &ImageBarrier);
25122513 }
25132514
25142515 llvm::SmallVector<VkBufferImageCopy> Regions;
0 commit comments