diff --git a/src/amd/vulkan/radv_queue.c b/src/amd/vulkan/radv_queue.c index 3d4382878d1..59183d506bf 100644 --- a/src/amd/vulkan/radv_queue.c +++ b/src/amd/vulkan/radv_queue.c @@ -981,8 +981,10 @@ radv_update_preamble_cs(struct radv_queue_state *queue, struct radv_device *devi if (descriptor_bo != queue->descriptor_bo) { uint32_t *map = (uint32_t *)ws->buffer_map(descriptor_bo); - if (!map) + if (!map) { + result = VK_ERROR_OUT_OF_DEVICE_MEMORY; goto fail; + } radv_fill_shader_rings(device, map, scratch_bo, needs->esgs_ring_size, esgs_ring_bo, needs->gsvs_ring_size, gsvs_ring_bo, tess_rings_bo, task_rings_bo, mesh_scratch_ring_bo, needs->attr_ring_size, diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c index e0b642a7829..5f753a2203a 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c @@ -265,7 +265,7 @@ radv_amdgpu_cs_get_new_ib(struct radeon_cmdbuf *_cs, uint32_t ib_size) cs->ib_mapped = cs->ws->base.buffer_map(cs->ib_buffer); if (!cs->ib_mapped) { cs->ws->base.buffer_destroy(&cs->ws->base, cs->ib_buffer); - return VK_ERROR_OUT_OF_HOST_MEMORY; + return VK_ERROR_OUT_OF_DEVICE_MEMORY; } cs->ib.ib_mc_address = radv_amdgpu_winsys_bo(cs->ib_buffer)->base.va; @@ -730,7 +730,7 @@ radv_amdgpu_cs_execute_secondary(struct radeon_cmdbuf *_parent, struct radeon_cm mapped = ws->base.buffer_map(ib->bo); if (!mapped) { - parent->status = VK_ERROR_OUT_OF_HOST_MEMORY; + parent->status = VK_ERROR_OUT_OF_DEVICE_MEMORY; return; }