[BRW] WRC 5 asserts with gallium nine and iris.
Submitted by Illia Iorin
Assigned to mes..@..op.org
When I launch WRC 5 with master mesa(b393b2ce) I get the message: ../src/gallium/drivers/iris/iris_resource.c:855: iris_resource_get_handle: Assertion `aux_state == ISL_AUX_STATE_RESOLVED || aux_state == ISL_AUX_STATE_PASS_THROUGH' failed.
Bisect leads to this commit:
Drop some checks that are already done by ISL.
Reviewed-by: Rafael Antognolli firstname.lastname@example.org
This commit dropped the following condition:
/* Gen9+ only supports CCS for Y-tiled buffers. */ if (surf->tiling != ISL_TILING_Y0) return false;
It prohibited ccs when spec allows it so the condition was indeed correctly removed.
Next I investigated why aux_state is ISL_AUX_STATE_CLEAR in iris_resource_get_handle. It is because NineSurface9_ctor calls nine_context_clear_render_target and it sets aux_state to ISL_AUX_STATE_CLEAR and again it looks logical for me. I don’t know what should be done. Also removing optimization doesn’t fix the game it just leads to a black screen and game being stuck. Discussion about this bug can be found there: https://github.com/iXit/wine-nine-standalone/issues/46