pvr: handle PVR_SRV_ERROR_RETRY pvr_srv_rgx_kick_render2()

ret.error wasn't being checked, so the driver incorrectly returned OOM state.

Fixes GLES test:
  dEQP-GLES2.functional.fragment_ops.stencil.zero_stencil_fail

Signed-off-by: Iliyan Dinev <iliyan.dinev@imgtec.com>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679>
This commit is contained in:
Iliyan Dinev 2024-07-22 16:25:25 +01:00 committed by Marge Bot
parent 2210e7ab4f
commit eb77cad906

View file

@ -1582,7 +1582,7 @@ VkResult pvr_srv_rgx_kick_render2(int fd,
sizeof(ret));
if (result || ret.error != PVR_SRV_OK) {
/* There is no 'retry' VkResult, so treat it as VK_NOT_READY instead. */
if (result == PVR_SRV_ERROR_RETRY)
if (result == PVR_SRV_ERROR_RETRY || ret.error == PVR_SRV_ERROR_RETRY)
return VK_NOT_READY;
return vk_bridge_err(VK_ERROR_OUT_OF_DEVICE_MEMORY,