mesa/*: use an internal enum for tessellation primitive types.

To avoid dragging gl.h into places it has no business being,
defined tessellation primitive mode to an enum.

This has a lot of fallout all over the place.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14605>
This commit is contained in:
Dave Airlie
2022-01-19 11:43:15 +10:00
committed by Marge Bot
parent 537a0ee3b7
commit d54c07b4c4
43 changed files with 234 additions and 156 deletions
+14 -3
View File
@@ -1829,9 +1829,20 @@ set_shader_inout_layout(struct gl_shader *shader,
}
break;
case MESA_SHADER_TESS_EVAL:
shader->info.TessEval.PrimitiveMode = PRIM_UNKNOWN;
if (state->in_qualifier->flags.q.prim_type)
shader->info.TessEval.PrimitiveMode = state->in_qualifier->prim_type;
shader->info.TessEval._PrimitiveMode = TESS_PRIMITIVE_UNSPECIFIED;
if (state->in_qualifier->flags.q.prim_type) {
switch (state->in_qualifier->prim_type) {
case GL_TRIANGLES:
shader->info.TessEval._PrimitiveMode = TESS_PRIMITIVE_TRIANGLES;
break;
case GL_QUADS:
shader->info.TessEval._PrimitiveMode = TESS_PRIMITIVE_QUADS;
break;
case GL_ISOLINES:
shader->info.TessEval._PrimitiveMode = TESS_PRIMITIVE_ISOLINES;
break;
}
}
shader->info.TessEval.Spacing = TESS_SPACING_UNSPECIFIED;
if (state->in_qualifier->flags.q.vertex_spacing)