mesa/*: add a shader primitive type to get away from GL types.

This creates an internal shader_prim enum, I've fixed up most
users to use it instead of GL types.

don't store the enum in shader_info as it changes size, and confuses
other things.

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 13:17:27 +10:00
committed by Marge Bot
parent d54c07b4c4
commit 1352e0ba0c
30 changed files with 196 additions and 182 deletions

View File

@@ -147,14 +147,14 @@ overwrite_incomplete_primitives(struct state *state, unsigned stream)
assert(state->count_vtx_per_prim);
nir_builder *b = state->builder;
unsigned outprim = b->shader->info.gs.output_primitive;
enum shader_prim outprim = b->shader->info.gs.output_primitive;
unsigned outprim_min_vertices;
if (outprim == GL_POINTS)
if (outprim == SHADER_PRIM_POINTS)
outprim_min_vertices = 1;
else if (outprim == GL_LINE_STRIP)
else if (outprim == SHADER_PRIM_LINE_STRIP)
outprim_min_vertices = 2;
else if (outprim == GL_TRIANGLE_STRIP)
else if (outprim == SHADER_PRIM_TRIANGLE_STRIP)
outprim_min_vertices = 3;
else
unreachable("Invalid GS output primitive type.");