mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 13:28:06 +02:00
radv/rmv: Fix creating RT pipelines
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22532>
(cherry picked from commit fd389ade5c)
This commit is contained in:
parent
b7fb9937a2
commit
ec55e467f5
3 changed files with 7 additions and 8 deletions
|
|
@ -688,7 +688,7 @@
|
|||
"description": "radv/rmv: Fix creating RT pipelines",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -596,6 +596,8 @@ radv_rt_pipeline_create(VkDevice _device, VkPipelineCache _cache,
|
|||
|
||||
radv_compute_pipeline_init(device, &rt_pipeline->base, pipeline_layout);
|
||||
|
||||
radv_rmv_log_compute_pipeline_create(device, pCreateInfo->flags, &rt_pipeline->base.base, false);
|
||||
|
||||
*pPipeline = radv_pipeline_to_handle(&rt_pipeline->base.base);
|
||||
shader_fail:
|
||||
ralloc_free(shader);
|
||||
|
|
@ -646,11 +648,6 @@ radv_CreateRayTracingPipelinesKHR(VkDevice _device, VkDeferredOperationKHR defer
|
|||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
RADV_FROM_HANDLE(radv_device, device, _device);
|
||||
for (uint32_t j = 0; j < count; ++j)
|
||||
radv_rmv_log_compute_pipeline_create(device, pCreateInfos[i].flags,
|
||||
radv_pipeline_from_handle(pPipelines[j]), false);
|
||||
|
||||
/* Work around Portal RTX not handling VK_OPERATION_NOT_DEFERRED_KHR correctly. */
|
||||
if (deferredOperation != VK_NULL_HANDLE)
|
||||
return VK_OPERATION_DEFERRED_KHR;
|
||||
|
|
|
|||
|
|
@ -867,7 +867,9 @@ radv_rmv_log_compute_pipeline_create(struct radv_device *device, VkPipelineCreat
|
|||
|
||||
VkPipeline _pipeline = radv_pipeline_to_handle(pipeline);
|
||||
|
||||
VkShaderStageFlagBits active_stages = VK_SHADER_STAGE_COMPUTE_BIT;
|
||||
VkShaderStageFlagBits active_stages = pipeline->type == RADV_PIPELINE_COMPUTE
|
||||
? VK_SHADER_STAGE_COMPUTE_BIT
|
||||
: VK_SHADER_STAGE_RAYGEN_BIT_KHR;
|
||||
|
||||
simple_mtx_lock(&device->vk.memory_trace_data.token_mtx);
|
||||
struct vk_rmv_resource_create_token create_token = {0};
|
||||
|
|
@ -881,7 +883,7 @@ radv_rmv_log_compute_pipeline_create(struct radv_device *device, VkPipelineCreat
|
|||
|
||||
vk_rmv_emit_token(&device->vk.memory_trace_data, VK_RMV_TOKEN_TYPE_RESOURCE_CREATE,
|
||||
&create_token);
|
||||
struct radv_shader *shader = pipeline->shaders[MESA_SHADER_COMPUTE];
|
||||
struct radv_shader *shader = pipeline->shaders[vk_to_mesa_shader_stage(active_stages)];
|
||||
log_resource_bind_locked(device, (uint64_t)_pipeline, shader->bo, shader->alloc->offset,
|
||||
shader->alloc->size);
|
||||
simple_mtx_unlock(&device->vk.memory_trace_data.token_mtx);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue