gallium: Fix uninitialized instance divisor and index.
This commit is contained in:
@@ -60,7 +60,7 @@ static void fetch_pipeline_prepare( struct draw_pt_middle_end *middle,
|
||||
struct draw_context *draw = fpme->draw;
|
||||
struct draw_vertex_shader *vs = draw->vs.vertex_shader;
|
||||
unsigned i;
|
||||
boolean instance_id_index = ~0;
|
||||
unsigned instance_id_index = ~0;
|
||||
|
||||
/* Add one to num_outputs because the pipeline occasionally tags on
|
||||
* an additional texcoord, eg for AA lines.
|
||||
|
||||
@@ -61,6 +61,7 @@ util_draw_vertex_buffer(struct pipe_context *pipe,
|
||||
/* tell pipe about the vertex attributes */
|
||||
for (i = 0; i < num_attribs; i++) {
|
||||
velements[i].src_offset = i * 4 * sizeof(float);
|
||||
velements[i].instance_divisor = 0;
|
||||
velements[i].vertex_buffer_index = 0;
|
||||
velements[i].src_format = PIPE_FORMAT_R32G32B32A32_FLOAT;
|
||||
velements[i].nr_components = 4;
|
||||
|
||||
@@ -316,6 +316,7 @@ init_buffers(struct vl_compositor *c)
|
||||
pipe_buffer_unmap(c->pipe->screen, c->vertex_bufs[0].buffer);
|
||||
|
||||
c->vertex_elems[0].src_offset = 0;
|
||||
c->vertex_elems[0].instance_divisor = 0;
|
||||
c->vertex_elems[0].vertex_buffer_index = 0;
|
||||
c->vertex_elems[0].nr_components = 2;
|
||||
c->vertex_elems[0].src_format = PIPE_FORMAT_R32G32_FLOAT;
|
||||
@@ -345,6 +346,7 @@ init_buffers(struct vl_compositor *c)
|
||||
pipe_buffer_unmap(c->pipe->screen, c->vertex_bufs[1].buffer);
|
||||
|
||||
c->vertex_elems[1].src_offset = 0;
|
||||
c->vertex_elems[1].instance_divisor = 0;
|
||||
c->vertex_elems[1].vertex_buffer_index = 1;
|
||||
c->vertex_elems[1].nr_components = 2;
|
||||
c->vertex_elems[1].src_format = PIPE_FORMAT_R32G32_FLOAT;
|
||||
|
||||
@@ -891,48 +891,56 @@ init_buffers(struct vl_mpeg12_mc_renderer *r)
|
||||
|
||||
/* Position element */
|
||||
r->vertex_elems[0].src_offset = 0;
|
||||
r->vertex_elems[0].instance_divisor = 0;
|
||||
r->vertex_elems[0].vertex_buffer_index = 0;
|
||||
r->vertex_elems[0].nr_components = 2;
|
||||
r->vertex_elems[0].src_format = PIPE_FORMAT_R32G32_FLOAT;
|
||||
|
||||
/* Luma, texcoord element */
|
||||
r->vertex_elems[1].src_offset = sizeof(struct vertex2f);
|
||||
r->vertex_elems[1].instance_divisor = 0;
|
||||
r->vertex_elems[1].vertex_buffer_index = 0;
|
||||
r->vertex_elems[1].nr_components = 2;
|
||||
r->vertex_elems[1].src_format = PIPE_FORMAT_R32G32_FLOAT;
|
||||
|
||||
/* Chroma Cr texcoord element */
|
||||
r->vertex_elems[2].src_offset = sizeof(struct vertex2f) * 2;
|
||||
r->vertex_elems[2].instance_divisor = 0;
|
||||
r->vertex_elems[2].vertex_buffer_index = 0;
|
||||
r->vertex_elems[2].nr_components = 2;
|
||||
r->vertex_elems[2].src_format = PIPE_FORMAT_R32G32_FLOAT;
|
||||
|
||||
/* Chroma Cb texcoord element */
|
||||
r->vertex_elems[3].src_offset = sizeof(struct vertex2f) * 3;
|
||||
r->vertex_elems[3].instance_divisor = 0;
|
||||
r->vertex_elems[3].vertex_buffer_index = 0;
|
||||
r->vertex_elems[3].nr_components = 2;
|
||||
r->vertex_elems[3].src_format = PIPE_FORMAT_R32G32_FLOAT;
|
||||
|
||||
/* First ref surface top field texcoord element */
|
||||
r->vertex_elems[4].src_offset = 0;
|
||||
r->vertex_elems[4].instance_divisor = 0;
|
||||
r->vertex_elems[4].vertex_buffer_index = 1;
|
||||
r->vertex_elems[4].nr_components = 2;
|
||||
r->vertex_elems[4].src_format = PIPE_FORMAT_R32G32_FLOAT;
|
||||
|
||||
/* First ref surface bottom field texcoord element */
|
||||
r->vertex_elems[5].src_offset = sizeof(struct vertex2f);
|
||||
r->vertex_elems[5].instance_divisor = 0;
|
||||
r->vertex_elems[5].vertex_buffer_index = 1;
|
||||
r->vertex_elems[5].nr_components = 2;
|
||||
r->vertex_elems[5].src_format = PIPE_FORMAT_R32G32_FLOAT;
|
||||
|
||||
/* Second ref surface top field texcoord element */
|
||||
r->vertex_elems[6].src_offset = 0;
|
||||
r->vertex_elems[6].instance_divisor = 0;
|
||||
r->vertex_elems[6].vertex_buffer_index = 2;
|
||||
r->vertex_elems[6].nr_components = 2;
|
||||
r->vertex_elems[6].src_format = PIPE_FORMAT_R32G32_FLOAT;
|
||||
|
||||
/* Second ref surface bottom field texcoord element */
|
||||
r->vertex_elems[7].src_offset = sizeof(struct vertex2f);
|
||||
r->vertex_elems[7].instance_divisor = 0;
|
||||
r->vertex_elems[7].vertex_buffer_index = 2;
|
||||
r->vertex_elems[7].nr_components = 2;
|
||||
r->vertex_elems[7].src_format = PIPE_FORMAT_R32G32_FLOAT;
|
||||
|
||||
@@ -293,6 +293,7 @@ static void draw_polygon(struct vg_context *ctx,
|
||||
|
||||
/* tell pipe about the vertex attributes */
|
||||
velement.src_offset = 0;
|
||||
velement.instance_divisor = 0;
|
||||
velement.vertex_buffer_index = 0;
|
||||
velement.src_format = PIPE_FORMAT_R32G32_FLOAT;
|
||||
velement.nr_components = COMPONENTS;
|
||||
|
||||
Reference in New Issue
Block a user