mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 08:08:06 +02:00
radv: correctly return oom from the device when failing to create a cs
cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25927>
This commit is contained in:
parent
f8909e7d55
commit
c4283e32e3
4 changed files with 9 additions and 7 deletions
|
|
@ -355,7 +355,7 @@ radv_create_cmd_buffer(struct vk_command_pool *pool, struct vk_command_buffer **
|
|||
cmd_buffer->cs = device->ws->cs_create(device->ws, ring, cmd_buffer->vk.level == VK_COMMAND_BUFFER_LEVEL_SECONDARY);
|
||||
if (!cmd_buffer->cs) {
|
||||
radv_destroy_cmd_buffer(&cmd_buffer->vk);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_DEVICE_MEMORY);
|
||||
}
|
||||
|
||||
vk_object_base_init(&device->vk, &cmd_buffer->meta_push_descriptors.base, VK_OBJECT_TYPE_DESCRIPTOR_SET);
|
||||
|
|
@ -698,7 +698,7 @@ radv_gang_init(struct radv_cmd_buffer *cmd_buffer)
|
|||
device->ws->cs_create(device->ws, AMD_IP_COMPUTE, cmd_buffer->vk.level == VK_COMMAND_BUFFER_LEVEL_SECONDARY);
|
||||
|
||||
if (!ace_cs) {
|
||||
vk_command_buffer_set_error(&cmd_buffer->vk, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
vk_command_buffer_set_error(&cmd_buffer->vk, VK_ERROR_OUT_OF_DEVICE_MEMORY);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ radv_create_shadow_regs_preamble(const struct radv_device *device, struct radv_q
|
|||
|
||||
struct radeon_cmdbuf *cs = ws->cs_create(ws, AMD_IP_GFX, false);
|
||||
if (!cs)
|
||||
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||
return VK_ERROR_OUT_OF_DEVICE_MEMORY;
|
||||
|
||||
radeon_check_space(ws, cs, 256);
|
||||
|
||||
|
|
@ -131,7 +131,7 @@ radv_init_shadowed_regs_buffer_state(const struct radv_device *device, struct ra
|
|||
|
||||
cs = ws->cs_create(ws, AMD_IP_GFX, false);
|
||||
if (!cs)
|
||||
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||
return VK_ERROR_OUT_OF_DEVICE_MEMORY;
|
||||
|
||||
radeon_check_space(ws, cs, 768);
|
||||
|
||||
|
|
|
|||
|
|
@ -996,7 +996,7 @@ radv_update_preamble_cs(struct radv_queue_state *queue, struct radv_device *devi
|
|||
struct radeon_cmdbuf *cs = NULL;
|
||||
cs = ws->cs_create(ws, radv_queue_family_to_ring(device->physical_device, queue->qf), false);
|
||||
if (!cs) {
|
||||
result = VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||
result = VK_ERROR_OUT_OF_DEVICE_MEMORY;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
|
@ -1263,8 +1263,10 @@ radv_create_gang_wait_preambles_postambles(struct radv_queue *queue)
|
|||
struct radeon_cmdbuf *ace_pre_cs = ws->cs_create(ws, AMD_IP_COMPUTE, false);
|
||||
struct radeon_cmdbuf *ace_post_cs = ws->cs_create(ws, AMD_IP_COMPUTE, false);
|
||||
|
||||
if (!leader_pre_cs || !leader_post_cs || !ace_pre_cs || !ace_post_cs)
|
||||
if (!leader_pre_cs || !leader_post_cs || !ace_pre_cs || !ace_post_cs) {
|
||||
r = VK_ERROR_OUT_OF_DEVICE_MEMORY;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
radeon_check_space(ws, leader_pre_cs, 256);
|
||||
radeon_check_space(ws, leader_post_cs, 256);
|
||||
|
|
|
|||
|
|
@ -1405,7 +1405,7 @@ radv_init_shader_upload_queue(struct radv_device *device)
|
|||
struct radv_shader_dma_submission *submission = calloc(1, sizeof(struct radv_shader_dma_submission));
|
||||
submission->cs = ws->cs_create(ws, AMD_IP_SDMA, false);
|
||||
if (!submission->cs)
|
||||
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||
return VK_ERROR_OUT_OF_DEVICE_MEMORY;
|
||||
list_addtail(&submission->list, &device->shader_dma_submissions);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue