mesa: Collect all the draw functions in draw.{h,c}.
Some of these functions were distributed across different implementation and header files. Put them at a central place. Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
This commit is contained in:
parent
3d64f3c795
commit
ad52e19408
|
@ -42,6 +42,7 @@
|
||||||
#include "main/buffers.h"
|
#include "main/buffers.h"
|
||||||
#include "main/clear.h"
|
#include "main/clear.h"
|
||||||
#include "main/condrender.h"
|
#include "main/condrender.h"
|
||||||
|
#include "main/draw.h"
|
||||||
#include "main/depth.h"
|
#include "main/depth.h"
|
||||||
#include "main/enable.h"
|
#include "main/enable.h"
|
||||||
#include "main/fbobject.h"
|
#include "main/fbobject.h"
|
||||||
|
|
|
@ -2146,6 +2146,49 @@ _mesa_DrawTransformFeedback(GLenum mode, GLuint name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* GL_IBM_multimode_draw_arrays */
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_MultiModeDrawArraysIBM( const GLenum * mode, const GLint * first,
|
||||||
|
const GLsizei * count,
|
||||||
|
GLsizei primcount, GLint modestride )
|
||||||
|
{
|
||||||
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
|
GLint i;
|
||||||
|
|
||||||
|
FLUSH_VERTICES(ctx, 0);
|
||||||
|
|
||||||
|
for ( i = 0 ; i < primcount ; i++ ) {
|
||||||
|
if ( count[i] > 0 ) {
|
||||||
|
GLenum m = *((GLenum *) ((GLubyte *) mode + i * modestride));
|
||||||
|
CALL_DrawArrays(ctx->CurrentServerDispatch, ( m, first[i], count[i] ));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* GL_IBM_multimode_draw_arrays */
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_MultiModeDrawElementsIBM( const GLenum * mode, const GLsizei * count,
|
||||||
|
GLenum type, const GLvoid * const * indices,
|
||||||
|
GLsizei primcount, GLint modestride )
|
||||||
|
{
|
||||||
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
|
GLint i;
|
||||||
|
|
||||||
|
FLUSH_VERTICES(ctx, 0);
|
||||||
|
|
||||||
|
/* XXX not sure about ARB_vertex_buffer_object handling here */
|
||||||
|
|
||||||
|
for ( i = 0 ; i < primcount ; i++ ) {
|
||||||
|
if ( count[i] > 0 ) {
|
||||||
|
GLenum m = *((GLenum *) ((GLubyte *) mode + i * modestride));
|
||||||
|
CALL_DrawElements(ctx->CurrentServerDispatch, ( m, count[i], type,
|
||||||
|
indices[i] ));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Helper function for _mesa_draw_indirect below that additionally takes a zero
|
* Helper function for _mesa_draw_indirect below that additionally takes a zero
|
||||||
* initialized array of _mesa_prim scratch space memory as the last argument.
|
* initialized array of _mesa_prim scratch space memory as the last argument.
|
||||||
|
|
|
@ -87,6 +87,71 @@ _mesa_draw_indirect(struct gl_context *ctx, GLuint mode,
|
||||||
const struct _mesa_index_buffer *ib);
|
const struct _mesa_index_buffer *ib);
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_DrawArrays(GLenum mode, GLint first, GLsizei count);
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_DrawArraysInstanced(GLenum mode, GLint first, GLsizei count,
|
||||||
|
GLsizei primcount);
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_DrawElements(GLenum mode, GLsizei count, GLenum type,
|
||||||
|
const GLvoid *indices);
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count,
|
||||||
|
GLenum type, const GLvoid *indices);
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_DrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type,
|
||||||
|
const GLvoid *indices, GLint basevertex);
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_DrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end,
|
||||||
|
GLsizei count, GLenum type,
|
||||||
|
const GLvoid *indices,
|
||||||
|
GLint basevertex);
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_DrawTransformFeedback(GLenum mode, GLuint name);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_MultiDrawArrays(GLenum mode, const GLint *first,
|
||||||
|
const GLsizei *count, GLsizei primcount);
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_MultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type,
|
||||||
|
const GLvoid **indices, GLsizei primcount);
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_MultiDrawElementsBaseVertex(GLenum mode,
|
||||||
|
const GLsizei *count, GLenum type,
|
||||||
|
const GLvoid **indices, GLsizei primcount,
|
||||||
|
const GLint *basevertex);
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_MultiModeDrawArraysIBM(const GLenum * mode, const GLint * first,
|
||||||
|
const GLsizei * count,
|
||||||
|
GLsizei primcount, GLint modestride);
|
||||||
|
|
||||||
|
|
||||||
|
void GLAPIENTRY
|
||||||
|
_mesa_MultiModeDrawElementsIBM(const GLenum * mode, const GLsizei * count,
|
||||||
|
GLenum type, const GLvoid * const * indices,
|
||||||
|
GLsizei primcount, GLint modestride);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} // extern "C"
|
} // extern "C"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1905,49 +1905,6 @@ _mesa_UnlockArraysEXT( void )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* GL_IBM_multimode_draw_arrays */
|
|
||||||
void GLAPIENTRY
|
|
||||||
_mesa_MultiModeDrawArraysIBM( const GLenum * mode, const GLint * first,
|
|
||||||
const GLsizei * count,
|
|
||||||
GLsizei primcount, GLint modestride )
|
|
||||||
{
|
|
||||||
GET_CURRENT_CONTEXT(ctx);
|
|
||||||
GLint i;
|
|
||||||
|
|
||||||
FLUSH_VERTICES(ctx, 0);
|
|
||||||
|
|
||||||
for ( i = 0 ; i < primcount ; i++ ) {
|
|
||||||
if ( count[i] > 0 ) {
|
|
||||||
GLenum m = *((GLenum *) ((GLubyte *) mode + i * modestride));
|
|
||||||
CALL_DrawArrays(ctx->CurrentServerDispatch, ( m, first[i], count[i] ));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* GL_IBM_multimode_draw_arrays */
|
|
||||||
void GLAPIENTRY
|
|
||||||
_mesa_MultiModeDrawElementsIBM( const GLenum * mode, const GLsizei * count,
|
|
||||||
GLenum type, const GLvoid * const * indices,
|
|
||||||
GLsizei primcount, GLint modestride )
|
|
||||||
{
|
|
||||||
GET_CURRENT_CONTEXT(ctx);
|
|
||||||
GLint i;
|
|
||||||
|
|
||||||
FLUSH_VERTICES(ctx, 0);
|
|
||||||
|
|
||||||
/* XXX not sure about ARB_vertex_buffer_object handling here */
|
|
||||||
|
|
||||||
for ( i = 0 ; i < primcount ; i++ ) {
|
|
||||||
if ( count[i] > 0 ) {
|
|
||||||
GLenum m = *((GLenum *) ((GLubyte *) mode + i * modestride));
|
|
||||||
CALL_DrawElements(ctx->CurrentServerDispatch, ( m, count[i], type,
|
|
||||||
indices[i] ));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
primitive_restart_index(struct gl_context *ctx, GLuint index)
|
primitive_restart_index(struct gl_context *ctx, GLuint index)
|
||||||
{
|
{
|
||||||
|
|
|
@ -270,31 +270,6 @@ extern void GLAPIENTRY
|
||||||
_mesa_InterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);
|
_mesa_InterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);
|
||||||
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_MultiDrawArrays(GLenum mode, const GLint *first,
|
|
||||||
const GLsizei *count, GLsizei primcount);
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_MultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type,
|
|
||||||
const GLvoid **indices, GLsizei primcount);
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_MultiDrawElementsBaseVertex(GLenum mode,
|
|
||||||
const GLsizei *count, GLenum type,
|
|
||||||
const GLvoid **indices, GLsizei primcount,
|
|
||||||
const GLint *basevertex);
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_MultiModeDrawArraysIBM(const GLenum * mode, const GLint * first,
|
|
||||||
const GLsizei * count,
|
|
||||||
GLsizei primcount, GLint modestride );
|
|
||||||
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_MultiModeDrawElementsIBM(const GLenum * mode, const GLsizei * count,
|
|
||||||
GLenum type, const GLvoid * const * indices,
|
|
||||||
GLsizei primcount, GLint modestride );
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
extern void GLAPIENTRY
|
||||||
_mesa_LockArraysEXT(GLint first, GLsizei count);
|
_mesa_LockArraysEXT(GLint first, GLsizei count);
|
||||||
|
|
||||||
|
@ -302,34 +277,6 @@ extern void GLAPIENTRY
|
||||||
_mesa_UnlockArraysEXT(void);
|
_mesa_UnlockArraysEXT(void);
|
||||||
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_DrawArrays(GLenum mode, GLint first, GLsizei count);
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_DrawArraysInstanced(GLenum mode, GLint first, GLsizei count,
|
|
||||||
GLsizei primcount);
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_DrawElements(GLenum mode, GLsizei count, GLenum type,
|
|
||||||
const GLvoid *indices);
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count,
|
|
||||||
GLenum type, const GLvoid *indices);
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_DrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type,
|
|
||||||
const GLvoid *indices, GLint basevertex);
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_DrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end,
|
|
||||||
GLsizei count, GLenum type,
|
|
||||||
const GLvoid *indices,
|
|
||||||
GLint basevertex);
|
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
|
||||||
_mesa_DrawTransformFeedback(GLenum mode, GLuint name);
|
|
||||||
|
|
||||||
void GLAPIENTRY
|
void GLAPIENTRY
|
||||||
_mesa_PrimitiveRestartIndex_no_error(GLuint index);
|
_mesa_PrimitiveRestartIndex_no_error(GLuint index);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue