util: put vertices_per_primitive function in its proper location

This commit is contained in:
Zack Rusin
2009-12-24 09:20:45 -05:00
parent 49155c3264
commit a00da63e66
4 changed files with 37 additions and 37 deletions
+2 -3
View File
@@ -27,7 +27,7 @@
#include "util/u_debug.h"
#include "util/u_memory.h"
#include "pipe/p_inlines.h"
#include "util/u_prim.h"
#include "cso_cache/cso_hash.h"
#include "tgsi_sanity.h"
#include "tgsi_info.h"
@@ -463,8 +463,7 @@ iter_property(
if (iter->processor.Processor == TGSI_PROCESSOR_GEOMETRY &&
prop->Property.PropertyName == TGSI_PROPERTY_GS_INPUT_PRIM) {
ctx->implied_array_size =
pipe_vertices_per_primitive(prop->u[0].Data);
ctx->implied_array_size = u_vertices_per_prim(prop->u[0].Data);
}
return TRUE;
}
+2 -2
View File
@@ -27,6 +27,7 @@
#include "util/u_debug.h"
#include "util/u_memory.h"
#include "util/u_prim.h"
#include "pipe/p_defines.h"
#include "pipe/p_inlines.h"
#include "tgsi_text.h"
@@ -1187,8 +1188,7 @@ static boolean parse_property( struct translate_ctx *ctx )
}
if (property_name == TGSI_PROPERTY_GS_INPUT_PRIM &&
ctx->processor == TGSI_PROCESSOR_GEOMETRY) {
ctx->implied_array_size =
pipe_vertices_per_primitive(values[0]);
ctx->implied_array_size = u_vertices_per_prim(values[0]);
}
break;
default:
+33
View File
@@ -135,6 +135,39 @@ static INLINE unsigned u_reduced_prim( unsigned pipe_prim )
}
}
static INLINE unsigned
u_vertices_per_prim(int primitive)
{
switch(primitive) {
case PIPE_PRIM_POINTS:
return 1;
case PIPE_PRIM_LINES:
case PIPE_PRIM_LINE_LOOP:
case PIPE_PRIM_LINE_STRIP:
return 2;
case PIPE_PRIM_TRIANGLES:
case PIPE_PRIM_TRIANGLE_STRIP:
case PIPE_PRIM_TRIANGLE_FAN:
return 3;
case PIPE_PRIM_LINES_ADJACENCY:
case PIPE_PRIM_LINE_STRIP_ADJACENCY:
return 4;
case PIPE_PRIM_TRIANGLES_ADJACENCY:
case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY:
return 6;
/* following primitives should never be used
* with geometry shaders abd their size is
* undefined */
case PIPE_PRIM_POLYGON:
case PIPE_PRIM_QUADS:
case PIPE_PRIM_QUAD_STRIP:
default:
debug_printf("Unrecognized geometry shader primitive");
return 3;
}
}
const char *u_prim_name( unsigned pipe_prim );
#endif
-32
View File
@@ -192,38 +192,6 @@ pipe_transfer_buffer_flags( struct pipe_transfer *transf )
}
}
static INLINE unsigned
pipe_vertices_per_primitive(int primitive)
{
switch(primitive) {
case PIPE_PRIM_POINTS:
return 1;
case PIPE_PRIM_LINES:
case PIPE_PRIM_LINE_LOOP:
case PIPE_PRIM_LINE_STRIP:
return 2;
case PIPE_PRIM_TRIANGLES:
case PIPE_PRIM_TRIANGLE_STRIP:
case PIPE_PRIM_TRIANGLE_FAN:
return 3;
case PIPE_PRIM_LINES_ADJACENCY:
case PIPE_PRIM_LINE_STRIP_ADJACENCY:
return 4;
case PIPE_PRIM_TRIANGLES_ADJACENCY:
case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY:
return 6;
/* following primitives should never be used
* with geometry shaders */
case PIPE_PRIM_POLYGON:
case PIPE_PRIM_QUADS:
case PIPE_PRIM_QUAD_STRIP:
default:
debug_printf("Unrecognized geometry shader primitive");
return 3;
}
}
#ifdef __cplusplus
}
#endif