From: Andrii Simiklit Date: Thu, 24 Jan 2019 10:28:29 +0000 (+0200) Subject: intel/batch-decoder: fix vertex buffer size calculation for gen<8 X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=commitdiff_plain;h=db39a44f105213e5e648a17ba94fca965cb19654 intel/batch-decoder: fix vertex buffer size calculation for gen<8 It should be incremented by one according to how it is calculated by 'emit_vertex_buffer_state': "\#if GEN_GEN < 8 .BufferAccessType = step_rate ? INSTANCEDATA : VERTEXDATA, .InstanceDataStepRate = step_rate, \#if GEN_GEN >= 5 .EndAddress = ro_bo(bo, end_offset - 1), \#endif \#endif" Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109449 Signed-off-by: Andrii Simiklit Reviewed-by: Lionel Landwerlin --- diff --git a/src/intel/common/gen_batch_decoder.c b/src/intel/common/gen_batch_decoder.c index ff29074c6d1..2a9c8579a7c 100644 --- a/src/intel/common/gen_batch_decoder.c +++ b/src/intel/common/gen_batch_decoder.c @@ -409,7 +409,7 @@ handle_3dstate_vertex_buffers(struct gen_batch_decode_ctx *ctx, ready = true; } else if (strcmp(vbs_iter.name, "End Address") == 0) { if (vb.map && vbs_iter.raw_value >= vb.addr) - vb_size = vbs_iter.raw_value - vb.addr; + vb_size = (vbs_iter.raw_value + 1) - vb.addr; else vb_size = 0; ready = true;