[Bisected]. Gallium-nine. Apitrace from the "Just cause" game leads to gpu hang
Submitted by Denis
Assigned to Intel 3D Bugs Mailing List
Link to original bug (#111619)
Description
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.
Bisected to:
3b6d787e is the first bad commit commit 3b6d787e Author: Timur Kristóf timur.kristof@gmail.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 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.
Signed-off-by: Timur Kristóf timur.kristof@gmail.com Reviewed-by: Kenneth Graunke kenneth@whitecape.org
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
Version: git