During checking apitrace for the game Just Cause (using gallium-nine) I faced with gpu hang.
gallium-nine => Native Direct3D 9 v0.4.0.294-release is active.
KBL cpu (HD630)
Actually trace on latest mesa master has a good rendering picture and gpu hang (on lower mesa versions picture can be corrupted). Keep in mind, that you may need release mesa version, because on debug you may got this assertion:
>../src/gallium/drivers/iris/iris_state.c:2536: iris_set_constant_buffer: Assertion `index > 0' failed.
Hang is stable on 351516 call.
3b6d787e404181758227e205eda03600b25c1fd9 is the first bad commit
Author: Timur Kristóf <email@example.com>
Date: Fri Jun 14 14:03:28 2019 +0200
iris: move sysvals to their own constant buffer
This commit moves the sysvals to a separate, new constant buffer
at the end (before the shader constants). It also allows us to
remove the special handling we had for cbuf0, and enables all
constant buffers to support user-specified resources and user
v2: (by Kenneth Graunke)
Rebase on the previous patch to fix system value uploading.
Fix disk cache num_cbufs calculation
Fix passthrough TCS to report num_cbufs = 1 so upload actually occurs
Change upload_sysvals to assert that num_cbufs > 0 when
num_system_values > 0.
Signed-off-by: Timur Kristóf <firstname.lastname@example.org>
Reviewed-by: Kenneth Graunke <email@example.com>
src/gallium/drivers/iris/iris_context.h | 3 +-
src/gallium/drivers/iris/iris_disk_cache.c | 6 ++-
src/gallium/drivers/iris/iris_draw.c | 2 +-
src/gallium/drivers/iris/iris_program.c | 60 ++++++++--------------
src/gallium/drivers/iris/iris_state.c | 80 ++++++++++++++++--------------
5 files changed, 73 insertions, 78 deletions
Link to apitrace => https://drive.google.com/open?id=1MCYg7ncKg30VX_TPnGEIRp6W3HdRMs3C