On Wednesday, June 17, 2015 01:00:59 AM Marek Olšák wrote: > From: Fabian Bieler <fabianbie...@fastmail.fm> > > Marek: remove unused members, cleanup > --- > src/mesa/main/mtypes.h | 105 > +++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 105 insertions(+) > > diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h > index 086f553..12789f1 100644 > --- a/src/mesa/main/mtypes.h > +++ b/src/mesa/main/mtypes.h > @@ -2163,6 +2163,29 @@ struct gl_vertex_program > }; > > > +/** Tessellation control program object */ > +struct gl_tess_ctrl_program > +{ > + struct gl_program Base; /**< base class */ > + > + /* output layout */ > + GLint VerticesOut; > +}; > + > + > +/** Tessellation evaluation program object */ > +struct gl_tess_eval_program > +{ > + struct gl_program Base; /**< base class */ > + > + /* input layout */ > + GLenum PrimitiveMode; /* GL_TRIANGLES, GL_QUADS or GL_ISOLINES */ > + GLenum Spacing; /* GL_EQUAL, GL_FRACTIONAL_EVEN, GL_FRACTIONAL_ODD > */ > + GLenum VertexOrder; /* GL_CW or GL_CCW */ > + bool PointMode; > +}; > + > + > /** Geometry program object */ > struct gl_geometry_program > { > @@ -2265,6 +2288,27 @@ struct gl_vertex_program_state > GLboolean _Overriden; > }; > > +/** > + * Context state for tessellation control programs. > + */ > +struct gl_tess_ctrl_program_state > +{ > + /** Currently bound and valid shader. */ > + struct gl_tess_ctrl_program *_Current; > + > + GLint patch_vertices; > + GLfloat patch_default_outer_level[4]; > + GLfloat patch_default_inner_level[2]; > +}; > + > +/** > + * Context state for tessellation evaluation programs. > + */ > +struct gl_tess_eval_program_state > +{ > + /** Currently bound and valid shader. */ > + struct gl_tess_eval_program *_Current; > +}; > > /** > * Context state for geometry programs. > @@ -2445,6 +2489,41 @@ struct gl_shader > bool pixel_center_integer; > > /** > + * Tessellation Control shader state from layout qualifiers. > + */ > + struct { > + /** > + * 0 - vertices not declared in shader, or > + * 1 .. GL_MAX_PATCH_VERTICES > + */ > + GLint VerticesOut; > + } TessCtrl; > + > + /** > + * Tessellation Evaluation shader state from layout qualifiers. > + */ > + struct { > + /** > + * GL_TRIANGLES, GL_QUADS, GL_ISOLINES or PRIM_UNKNOWN if it's not set > + * in this shader. > + */ > + GLenum PrimitiveMode; > + /** > + * GL_EQUAL, GL_FRACTIONAL_ODD, GL_FRACTIONAL_EVEN, or 0 if it's not > set > + * in this shader. > + */ > + GLenum Spacing; > + /** > + * GL_CW, GL_CCW, or 0 if it's not set in this shader. > + */ > + GLenum VertexOrder; > + /** > + * 1, 0, or -1 if it's not set in this shader. > + */ > + int PointMode; > + } TessEval; > + > + /** > * Geometry shader state from GLSL 1.50 layout qualifiers. > */ > struct { > @@ -2668,6 +2747,30 @@ struct gl_shader_program > enum gl_frag_depth_layout FragDepthLayout; > > /** > + * Tessellation Control shader state from layout qualifiers. > + */ > + struct { > + /** > + * 0 - vertices not declared in shader, or > + * 1 .. GL_MAX_PATCH_VERTICES > + */ > + GLint VerticesOut; > + } TessCtrl; > + > + /** > + * Tessellation Evaluation shader state from layout qualifiers. > + */ > + struct { > + /** GL_TRIANGLES, GL_QUADS or GL_ISOLINES */ > + GLenum PrimitiveMode; > + /** GL_EQUAL, GL_FRACTIONAL_ODD or GL_FRACTIONAL_EVEN */ > + GLenum Spacing; > + /** GL_CW or GL_CCW */ > + GLenum VertexOrder; > + bool PointMode; > + } TessEval;
Seems a little odd that we've basically represented this same struct 2-3 times now. Perhaps give it an actual type and reuse it? Though I suppose it doesn't matter much... > + > + /** > * Geometry shader state - copied into gl_geometry_program by > * _mesa_copy_linked_program_data(). > */ > @@ -4201,6 +4304,8 @@ struct gl_context > struct gl_fragment_program_state FragmentProgram; > struct gl_geometry_program_state GeometryProgram; > struct gl_compute_program_state ComputeProgram; > + struct gl_tess_ctrl_program_state TessCtrlProgram; > + struct gl_tess_eval_program_state TessEvalProgram; > struct gl_ati_fragment_shader_state ATIFragmentShader; > > struct gl_pipeline_shader_state Pipeline; /**< GLSL pipeline shader > object state */ >
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev