[Mesa-dev] [PATCH 1/1] mesa/st: draw_vbo: initialize restart_index too

Marek Olšák maraeo at gmail.com
Tue Jul 3 21:57:14 UTC 2018


On Mon, Jul 2, 2018 at 9:30 AM, Brian Paul <brianp at vmware.com> wrote:
> On 07/01/2018 02:05 AM, Gert Wollny wrote:
>>
>> From: Gert Wollny <gert.wollny at collabora.com>
>>
>> restart_index is later always used in a comparison, so it should be
>> initialized properly.
>>
>> Fixes valgrind warning:
>>   Conditional jump or move depends on uninitialised value(s)
>>      at 0xB8D682F: r600_draw_vbo (r600_state_common.c:2153)
>>      by 0xB71F743: u_vbuf_draw_vbo (u_vbuf.c:1156)
>>      by 0xB3B92DB: st_draw_vbo (st_draw.c:235)
>>      by 0xB36B1AE: vbo_draw_arrays (vbo_exec_array.c:391)
>>      by 0xB36BB0D: vbo_exec_DrawArrays (vbo_exec_array.c:550)
>>      by 0x10A989: piglit_display (textureSize.c:157)
>>      by 0x4F8F174: run_test (piglit_fbo_framework.c:52)
>>      by 0x4F7BA12: piglit_gl_test_run (piglit-framework-gl.c:229)
>>      by 0x10A60A: main (textureSize.c:71)
>>   Uninitialised value was created by a stack allocation
>>      at 0xB3B90B0: st_draw_vbo (st_draw.c:143)
>>
>> Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
>> ---
>>   src/mesa/state_tracker/st_draw.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/src/mesa/state_tracker/st_draw.c
>> b/src/mesa/state_tracker/st_draw.c
>> index 208ea735a7..dee69783ad 100644
>> --- a/src/mesa/state_tracker/st_draw.c
>> +++ b/src/mesa/state_tracker/st_draw.c
>> @@ -156,6 +156,7 @@ st_draw_vbo(struct gl_context *ctx,
>>      info.vertices_per_patch = ctx->TessCtrlProgram.patch_vertices;
>>      info.indirect = NULL;
>>      info.count_from_stream_output = NULL;
>> +   info.restart_index = 0;
>>        if (ib) {
>>         struct gl_buffer_object *bufobj = ib->obj;
>>
>
> It might be better to simply call util_draw_init_info() first, then drop the
> =0 assignments.  That'd help future-proof the code too.
>
> Otherwise, this is OK.  Reviewed-by: Brian Paul <brianp at vmware.com>

The code doesn't util_draw_init_info because this is a hot path.

Marek


More information about the mesa-dev mailing list