This makes more sense than OUT_OF_HOST_MEMORY. Technically, you can
recover from a failed execbuf2 but the batch you just submitted didn't
fully execute so things are in an ill-defined state. The app doesn't want
to continue from that point anyway.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
ret = anv_gem_execbuffer(device, &execbuf);
if (ret != 0) {
/* We don't know the real error. */
ret = anv_gem_execbuffer(device, &execbuf);
if (ret != 0) {
/* We don't know the real error. */
- result = vk_errorf(VK_ERROR_OUT_OF_DEVICE_MEMORY, "execbuf2 failed: %m");
+ result = vk_errorf(VK_ERROR_DEVICE_LOST, "execbuf2 failed: %m");
ret = anv_gem_wait(device, bo.gem_handle, &timeout);
if (ret != 0) {
/* We don't know the real error. */
ret = anv_gem_wait(device, bo.gem_handle, &timeout);
if (ret != 0) {
/* We don't know the real error. */
- result = vk_errorf(VK_ERROR_OUT_OF_DEVICE_MEMORY, "execbuf2 failed: %m");
+ result = vk_errorf(VK_ERROR_DEVICE_LOST, "execbuf2 failed: %m");
ret = anv_gem_execbuffer(device, &cmd_buffer->execbuf2.execbuf);
if (ret != 0) {
/* We don't know the real error. */
ret = anv_gem_execbuffer(device, &cmd_buffer->execbuf2.execbuf);
if (ret != 0) {
/* We don't know the real error. */
- return vk_errorf(VK_ERROR_OUT_OF_DEVICE_MEMORY,
- "execbuf2 failed: %m");
+ return vk_errorf(VK_ERROR_DEVICE_LOST, "execbuf2 failed: %m");
}
for (uint32_t k = 0; k < cmd_buffer->execbuf2.bo_count; k++)
}
for (uint32_t k = 0; k < cmd_buffer->execbuf2.bo_count; k++)
ret = anv_gem_execbuffer(device, &fence->execbuf);
if (ret != 0) {
/* We don't know the real error. */
ret = anv_gem_execbuffer(device, &fence->execbuf);
if (ret != 0) {
/* We don't know the real error. */
- return vk_errorf(VK_ERROR_OUT_OF_DEVICE_MEMORY,
- "execbuf2 failed: %m");
+ return vk_errorf(VK_ERROR_DEVICE_LOST, "execbuf2 failed: %m");