mesa: initialize gl_geometry_program Invocations field

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
This commit is contained in:
Jordan Justen
2014-01-25 12:34:24 -08:00
parent 313402048f
commit 86d6b5546b
5 changed files with 5 additions and 0 deletions

View File

@@ -2143,6 +2143,7 @@ struct gl_geometry_program
GLint VerticesIn; GLint VerticesIn;
GLint VerticesOut; GLint VerticesOut;
GLint Invocations;
GLenum InputType; /**< GL_POINTS, GL_LINES, GL_LINES_ADJACENCY_ARB, GLenum InputType; /**< GL_POINTS, GL_LINES, GL_LINES_ADJACENCY_ARB,
GL_TRIANGLES, or GL_TRIANGLES_ADJACENCY_ARB */ GL_TRIANGLES, or GL_TRIANGLES_ADJACENCY_ARB */
GLenum OutputType; /**< GL_POINTS, GL_LINE_STRIP or GL_TRIANGLE_STRIP */ GLenum OutputType; /**< GL_POINTS, GL_LINE_STRIP or GL_TRIANGLE_STRIP */

View File

@@ -1859,6 +1859,7 @@ _mesa_copy_linked_program_data(gl_shader_stage type,
struct gl_geometry_program *dst_gp = (struct gl_geometry_program *) dst; struct gl_geometry_program *dst_gp = (struct gl_geometry_program *) dst;
dst_gp->VerticesIn = src->Geom.VerticesIn; dst_gp->VerticesIn = src->Geom.VerticesIn;
dst_gp->VerticesOut = src->Geom.VerticesOut; dst_gp->VerticesOut = src->Geom.VerticesOut;
dst_gp->Invocations = src->Geom.Invocations;
dst_gp->InputType = src->Geom.InputType; dst_gp->InputType = src->Geom.InputType;
dst_gp->OutputType = src->Geom.OutputType; dst_gp->OutputType = src->Geom.OutputType;
dst->UsesClipDistanceOut = src->Geom.UsesClipDistance; dst->UsesClipDistanceOut = src->Geom.UsesClipDistance;

View File

@@ -550,6 +550,7 @@ _mesa_clone_program(struct gl_context *ctx, const struct gl_program *prog)
struct gl_geometry_program *gpc = gl_geometry_program(clone); struct gl_geometry_program *gpc = gl_geometry_program(clone);
gpc->VerticesOut = gp->VerticesOut; gpc->VerticesOut = gp->VerticesOut;
gpc->InputType = gp->InputType; gpc->InputType = gp->InputType;
gpc->Invocations = gp->Invocations;
gpc->OutputType = gp->OutputType; gpc->OutputType = gp->OutputType;
} }
break; break;

View File

@@ -5183,6 +5183,7 @@ get_mesa_program(struct gl_context *ctx,
stgp->Base.InputType = shader_program->Geom.InputType; stgp->Base.InputType = shader_program->Geom.InputType;
stgp->Base.OutputType = shader_program->Geom.OutputType; stgp->Base.OutputType = shader_program->Geom.OutputType;
stgp->Base.VerticesOut = shader_program->Geom.VerticesOut; stgp->Base.VerticesOut = shader_program->Geom.VerticesOut;
stgp->Base.Invocations = shader_program->Geom.Invocations;
break; break;
default: default:
assert(!"should not be reached"); assert(!"should not be reached");

View File

@@ -1096,6 +1096,7 @@ st_translate_geometry_program(struct st_context *st,
ureg_property_gs_input_prim(ureg, stgp->Base.InputType); ureg_property_gs_input_prim(ureg, stgp->Base.InputType);
ureg_property_gs_output_prim(ureg, stgp->Base.OutputType); ureg_property_gs_output_prim(ureg, stgp->Base.OutputType);
ureg_property_gs_max_vertices(ureg, stgp->Base.VerticesOut); ureg_property_gs_max_vertices(ureg, stgp->Base.VerticesOut);
ureg_property_gs_invocations(ureg, stgp->Base.Invocations);
if (stgp->glsl_to_tgsi) if (stgp->glsl_to_tgsi)
st_translate_program(st->ctx, st_translate_program(st->ctx,