[Bisected]. Gallium-nine. Apitrace from the "Just cause" game leads to gpu hang
Submitted by Denis
Assigned to Intel 3D Bugs Mailing List
During checking apitrace for the game Just Cause (using gallium-nine) I faced with gpu hang.
Configuration: Manjaro OS mesa-git master 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.
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 buffers.
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.
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