diff options
author | Brian Paul <[email protected]> | 2018-01-18 13:21:56 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2018-01-24 10:12:49 -0700 |
commit | a152cb7492b6ff2bc56f8c82879d703c8b99a880 (patch) | |
tree | 0b656a8dca27d191cb3b4373c3f41a92faecd437 /src/mesa/vbo/vbo_exec.c | |
parent | 5d3e10fd27d97f9da8500296a38febd91dfb06ba (diff) |
mesa: move vbo_count_tessellated_primitives() to api_validate.c
It's only used in this file and has nothing VBO-specific about it.
Reviewed-by: Roland Scheidegger <[email protected]>
Diffstat (limited to 'src/mesa/vbo/vbo_exec.c')
-rw-r--r-- | src/mesa/vbo/vbo_exec.c | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/src/mesa/vbo/vbo_exec.c b/src/mesa/vbo/vbo_exec.c index dc26dfd37b4..4320738bd6d 100644 --- a/src/mesa/vbo/vbo_exec.c +++ b/src/mesa/vbo/vbo_exec.c @@ -70,71 +70,6 @@ void vbo_exec_destroy( struct gl_context *ctx ) /** - * Figure out the number of transform feedback primitives that will be output - * considering the drawing mode, number of vertices, and instance count, - * assuming that no geometry shading is done and primitive restart is not - * used. - * - * This is used by driver back-ends in implementing the PRIMITIVES_GENERATED - * and TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries. It is also used to - * pre-validate draw calls in GLES3 (where draw calls only succeed if there is - * enough room in the transform feedback buffer for the result). - */ -size_t -vbo_count_tessellated_primitives(GLenum mode, GLuint count, - GLuint num_instances) -{ - size_t num_primitives; - switch (mode) { - case GL_POINTS: - num_primitives = count; - break; - case GL_LINE_STRIP: - num_primitives = count >= 2 ? count - 1 : 0; - break; - case GL_LINE_LOOP: - num_primitives = count >= 2 ? count : 0; - break; - case GL_LINES: - num_primitives = count / 2; - break; - case GL_TRIANGLE_STRIP: - case GL_TRIANGLE_FAN: - case GL_POLYGON: - num_primitives = count >= 3 ? count - 2 : 0; - break; - case GL_TRIANGLES: - num_primitives = count / 3; - break; - case GL_QUAD_STRIP: - num_primitives = count >= 4 ? ((count / 2) - 1) * 2 : 0; - break; - case GL_QUADS: - num_primitives = (count / 4) * 2; - break; - case GL_LINES_ADJACENCY: - num_primitives = count / 4; - break; - case GL_LINE_STRIP_ADJACENCY: - num_primitives = count >= 4 ? count - 3 : 0; - break; - case GL_TRIANGLES_ADJACENCY: - num_primitives = count / 6; - break; - case GL_TRIANGLE_STRIP_ADJACENCY: - num_primitives = count >= 6 ? (count - 4) / 2 : 0; - break; - default: - assert(!"Unexpected primitive type in count_tessellated_primitives"); - num_primitives = 0; - break; - } - return num_primitives * num_instances; -} - - - -/** * In some degenarate cases we can improve our ability to merge * consecutive primitives. For example: * glBegin(GL_LINE_STRIP); |