diff options
author | Sergii Romantsov <[email protected]> | 2018-07-12 15:47:48 +0300 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2018-07-16 12:18:36 -0700 |
commit | cec540fbc6f00049b8393b70219b6fe0b303b7b0 (patch) | |
tree | d89fd1bd8941d26e05f519f9a9d4f5701abe9b2a /src/mesa | |
parent | 4054133dccef1fdf125faae13c75e8f8a19d858f (diff) |
intel/batch_decoder: decoding of 3DSTATE_CONSTANT_BODY.
SNB doesn't have a definition of 3DSTATE_CONSTANT_BODY, thats
why we got segmentation fault when used INTEL_DEBUG=bat.
Fixed by adding of 3DSTATE_CONSTANT_BODY into 3DSTATE_CONSTANT
of VS, GS and PS structures.
v2: added definition of 3DSTATE_CONSTANT_BODY to the gen6.xml
Fixes: 169d8e011ae (intel: Fix 3DSTATE_CONSTANT buffer decoding.)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107190
Signed-off-by: Sergii Romantsov <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/i965/genX_state_upload.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c index 4a68bbe3d13..9e0a17b9d93 100644 --- a/src/mesa/drivers/dri/i965/genX_state_upload.c +++ b/src/mesa/drivers/dri/i965/genX_state_upload.c @@ -1879,8 +1879,8 @@ genX(upload_wm)(struct brw_context *brw) /* Pointer to the WM constant buffer. Covered by the set of * state flags from gen6_upload_wm_push_constants. */ - wmcp.PointertoPSConstantBuffer0 = stage_state->push_const_offset; - wmcp.PSConstantBuffer0ReadLength = stage_state->push_const_size - 1; + wmcp.ConstantBody.PointertoConstantBuffer0 = stage_state->push_const_offset; + wmcp.ConstantBody.ConstantBuffer0ReadLength = stage_state->push_const_size - 1; } } #endif @@ -2215,8 +2215,8 @@ genX(upload_vs_state)(struct brw_context *brw) brw_batch_emit(brw, GENX(3DSTATE_CONSTANT_VS), cvs) { if (stage_state->push_const_size != 0) { cvs.Buffer0Valid = true; - cvs.PointertoVSConstantBuffer0 = stage_state->push_const_offset; - cvs.VSConstantBuffer0ReadLength = stage_state->push_const_size - 1; + cvs.ConstantBody.PointertoConstantBuffer0 = stage_state->push_const_offset; + cvs.ConstantBody.ConstantBuffer0ReadLength = stage_state->push_const_size - 1; } } #endif @@ -2707,8 +2707,8 @@ genX(upload_gs_state)(struct brw_context *brw) brw_batch_emit(brw, GENX(3DSTATE_CONSTANT_GS), cgs) { if (active && stage_state->push_const_size != 0) { cgs.Buffer0Valid = true; - cgs.PointertoGSConstantBuffer0 = stage_state->push_const_offset; - cgs.GSConstantBuffer0ReadLength = stage_state->push_const_size - 1; + cgs.ConstantBody.PointertoConstantBuffer0 = stage_state->push_const_offset; + cgs.ConstantBody.ConstantBuffer0ReadLength = stage_state->push_const_size - 1; } } #endif |