mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-02 07:58:07 +02:00
compiler: Inline mesa_vertices_per_prim
Makes it more easily consumable from the gpu. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056>
This commit is contained in:
parent
7cfe2ecb33
commit
64f7b70763
2 changed files with 37 additions and 39 deletions
|
|
@ -433,44 +433,6 @@ gl_frag_result_name(gl_frag_result result)
|
|||
return NAME(result);
|
||||
}
|
||||
|
||||
unsigned
|
||||
mesa_vertices_per_prim(enum mesa_prim prim)
|
||||
{
|
||||
switch(prim) {
|
||||
case MESA_PRIM_POINTS:
|
||||
return 1;
|
||||
case MESA_PRIM_LINES:
|
||||
case MESA_PRIM_LINE_LOOP:
|
||||
case MESA_PRIM_LINE_STRIP:
|
||||
return 2;
|
||||
case MESA_PRIM_TRIANGLES:
|
||||
case MESA_PRIM_TRIANGLE_STRIP:
|
||||
case MESA_PRIM_TRIANGLE_FAN:
|
||||
return 3;
|
||||
case MESA_PRIM_LINES_ADJACENCY:
|
||||
case MESA_PRIM_LINE_STRIP_ADJACENCY:
|
||||
return 4;
|
||||
case MESA_PRIM_TRIANGLES_ADJACENCY:
|
||||
case MESA_PRIM_TRIANGLE_STRIP_ADJACENCY:
|
||||
return 6;
|
||||
|
||||
case MESA_PRIM_QUADS:
|
||||
case MESA_PRIM_QUAD_STRIP:
|
||||
/* These won't be seen from geometry shaders but prim assembly might for
|
||||
* prim id.
|
||||
*/
|
||||
return 4;
|
||||
|
||||
/* The following primitives should never be used with geometry or mesh
|
||||
* shaders and their size is undefined.
|
||||
*/
|
||||
case MESA_PRIM_POLYGON:
|
||||
default:
|
||||
debug_printf("Unrecognized geometry or mesh shader primitive");
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
const char *
|
||||
mesa_scope_name(mesa_scope scope)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1197,7 +1197,43 @@ enum ENUM_PACKED mesa_prim
|
|||
/**
|
||||
* Number of vertices per primitive as seen by a geometry or mesh shader.
|
||||
*/
|
||||
unsigned mesa_vertices_per_prim(enum mesa_prim prim);
|
||||
static inline unsigned
|
||||
mesa_vertices_per_prim(enum mesa_prim prim)
|
||||
{
|
||||
switch(prim) {
|
||||
case MESA_PRIM_POINTS:
|
||||
return 1;
|
||||
case MESA_PRIM_LINES:
|
||||
case MESA_PRIM_LINE_LOOP:
|
||||
case MESA_PRIM_LINE_STRIP:
|
||||
return 2;
|
||||
case MESA_PRIM_TRIANGLES:
|
||||
case MESA_PRIM_TRIANGLE_STRIP:
|
||||
case MESA_PRIM_TRIANGLE_FAN:
|
||||
return 3;
|
||||
case MESA_PRIM_LINES_ADJACENCY:
|
||||
case MESA_PRIM_LINE_STRIP_ADJACENCY:
|
||||
return 4;
|
||||
case MESA_PRIM_TRIANGLES_ADJACENCY:
|
||||
case MESA_PRIM_TRIANGLE_STRIP_ADJACENCY:
|
||||
return 6;
|
||||
|
||||
case MESA_PRIM_QUADS:
|
||||
case MESA_PRIM_QUAD_STRIP:
|
||||
/* These won't be seen from geometry shaders but prim assembly might for
|
||||
* prim id.
|
||||
*/
|
||||
return 4;
|
||||
|
||||
/* The following primitives should never be used with geometry or mesh
|
||||
* shaders and their size is undefined.
|
||||
*/
|
||||
case MESA_PRIM_POLYGON:
|
||||
default:
|
||||
debug_printf("Unrecognized geometry or mesh shader primitive");
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A compare function enum for use in compiler lowering passes. This is in
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue