[BRW] WRC 5 asserts with gallium nine and iris.
Submitted by Illia Iorin
Assigned to mes..@..op.org
Link to original bug (#111150)
Description
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:
commit e8139286 Author: Nanley Chery nanley.g.chery@intel.com Date: Wed May 1 14:57:23 2019 -0700 iris/resource: Drop redundant checks for aux support
Drop some checks that are already done by ISL.
Reviewed-by: Rafael Antognolli rafael.antognolli@intel.com
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
Version: git