| @@ -317,7 +317,7 @@ _mesa_BlendEquation( GLenum mode ) | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glBlendEquation %s\n", | |||
| _mesa_debug(ctx, "glBlendEquation(%s)\n", | |||
| _mesa_lookup_enum_by_nr(mode)); | |||
| if (!legal_blend_equation(ctx, mode, GL_FALSE)) { | |||
| @@ -398,7 +398,7 @@ _mesa_BlendEquationSeparateEXT( GLenum modeRGB, GLenum modeA ) | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glBlendEquationSeparateEXT %s %s\n", | |||
| _mesa_debug(ctx, "glBlendEquationSeparateEXT(%s %s)\n", | |||
| _mesa_lookup_enum_by_nr(modeRGB), | |||
| _mesa_lookup_enum_by_nr(modeA)); | |||
| @@ -454,7 +454,7 @@ _mesa_BlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeA) | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glBlendEquationSeparatei %u, %s %s\n", buf, | |||
| _mesa_debug(ctx, "glBlendEquationSeparatei(%u, %s %s)\n", buf, | |||
| _mesa_lookup_enum_by_nr(modeRGB), | |||
| _mesa_lookup_enum_by_nr(modeA)); | |||
| @@ -545,6 +545,10 @@ _mesa_AlphaFunc( GLenum func, GLclampf ref ) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glAlphaFunc(%s, %f)\n", | |||
| _mesa_lookup_enum_by_nr(func), ref); | |||
| switch (func) { | |||
| case GL_NEVER: | |||
| case GL_LESS: | |||
| @@ -590,6 +594,9 @@ _mesa_LogicOp( GLenum opcode ) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glLogicOp(%s)\n", _mesa_lookup_enum_by_nr(opcode)); | |||
| switch (opcode) { | |||
| case GL_CLEAR: | |||
| case GL_SET: | |||
| @@ -664,7 +671,8 @@ _mesa_ColorMask( GLboolean red, GLboolean green, | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glColorMask %d %d %d %d\n", red, green, blue, alpha); | |||
| _mesa_debug(ctx, "glColorMask(%d, %d, %d, %d)\n", | |||
| red, green, blue, alpha); | |||
| /* Shouldn't have any information about channel depth in core mesa | |||
| * -- should probably store these as the native booleans: | |||
| @@ -970,6 +970,10 @@ _mesa_BindBufferARB(GLenum target, GLuint buffer) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glBindBuffer(%s, %u)\n", | |||
| _mesa_lookup_enum_by_nr(target), buffer); | |||
| bind_buffer_object(ctx, target, buffer); | |||
| } | |||
| @@ -1064,6 +1068,9 @@ _mesa_GenBuffersARB(GLsizei n, GLuint *buffer) | |||
| GLint i; | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glGenBuffers(%d)\n", n); | |||
| if (n < 0) { | |||
| _mesa_error(ctx, GL_INVALID_VALUE, "glGenBuffersARB"); | |||
| return; | |||
| @@ -1121,6 +1128,12 @@ _mesa_BufferDataARB(GLenum target, GLsizeiptrARB size, | |||
| struct gl_buffer_object *bufObj; | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glBufferData(%s, %ld, %p, %s)\n", | |||
| _mesa_lookup_enum_by_nr(target), | |||
| (long int) size, data, | |||
| _mesa_lookup_enum_by_nr(usage)); | |||
| if (size < 0) { | |||
| _mesa_error(ctx, GL_INVALID_VALUE, "glBufferDataARB(size < 0)"); | |||
| return; | |||
| @@ -44,6 +44,9 @@ _mesa_ClearDepth( GLclampd depth ) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glClearDepth(%f)\n", depth); | |||
| depth = CLAMP( depth, 0.0, 1.0 ); | |||
| if (ctx->Depth.Clear == depth) | |||
| @@ -133,6 +136,9 @@ _mesa_DepthBoundsEXT( GLclampd zmin, GLclampd zmax ) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glDepthBounds(%f, %f)\n", zmin, zmax); | |||
| if (zmin > zmax) { | |||
| _mesa_error(ctx, GL_INVALID_VALUE, "glDepthBoundsEXT(zmin > zmax)"); | |||
| return; | |||
| @@ -40,8 +40,9 @@ _mesa_Hint( GLenum target, GLenum mode ) | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glHint %s %d\n", | |||
| _mesa_lookup_enum_by_nr(target), mode); | |||
| _mesa_debug(ctx, "glHint %s %s\n", | |||
| _mesa_lookup_enum_by_nr(target), | |||
| _mesa_lookup_enum_by_nr(mode)); | |||
| if (mode != GL_NICEST && mode != GL_FASTEST && mode != GL_DONT_CARE) { | |||
| _mesa_error(ctx, GL_INVALID_ENUM, "glHint(mode)"); | |||
| @@ -43,6 +43,9 @@ _mesa_LineWidth( GLfloat width ) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glLineWidth %f\n", width); | |||
| if (width<=0.0) { | |||
| _mesa_error( ctx, GL_INVALID_VALUE, "glLineWidth" ); | |||
| return; | |||
| @@ -77,6 +80,9 @@ _mesa_LineStipple( GLint factor, GLushort pattern ) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glLineStipple %d %u\n", factor, pattern); | |||
| factor = CLAMP( factor, 1, 256 ); | |||
| if (ctx->Line.StippleFactor == factor && | |||
| @@ -25,6 +25,7 @@ | |||
| #include "glheader.h" | |||
| #include "context.h" | |||
| #include "enums.h" | |||
| #include "hash.h" | |||
| #include "imports.h" | |||
| #include "queryobj.h" | |||
| @@ -179,6 +180,9 @@ _mesa_GenQueriesARB(GLsizei n, GLuint *ids) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glGenQueries(%d)\n", n); | |||
| if (n < 0) { | |||
| _mesa_error(ctx, GL_INVALID_VALUE, "glGenQueriesARB(n < 0)"); | |||
| return; | |||
| @@ -215,6 +219,9 @@ _mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glDeleeteQueries(%d)\n", n); | |||
| if (n < 0) { | |||
| _mesa_error(ctx, GL_INVALID_VALUE, "glDeleteQueriesARB(n < 0)"); | |||
| return; | |||
| @@ -246,6 +253,9 @@ _mesa_IsQueryARB(GLuint id) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glIsQuery(%u)\n", id); | |||
| if (id && _mesa_lookup_query_object(ctx, id)) | |||
| return GL_TRUE; | |||
| else | |||
| @@ -260,6 +270,10 @@ _mesa_BeginQueryARB(GLenum target, GLuint id) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glBeginQuery(%s, %u)\n", | |||
| _mesa_lookup_enum_by_nr(target), id); | |||
| FLUSH_VERTICES(ctx, _NEW_DEPTH); | |||
| bindpt = get_query_binding_point(ctx, target); | |||
| @@ -311,6 +325,9 @@ _mesa_EndQueryARB(GLenum target) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glEndQuery(%s)\n", _mesa_lookup_enum_by_nr(target)); | |||
| FLUSH_VERTICES(ctx, _NEW_DEPTH); | |||
| bindpt = get_query_binding_point(ctx, target); | |||
| @@ -341,6 +358,11 @@ _mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glGetQueryiv(%s, %s)\n", | |||
| _mesa_lookup_enum_by_nr(target), | |||
| _mesa_lookup_enum_by_nr(pname)); | |||
| bindpt = get_query_binding_point(ctx, target); | |||
| if (!bindpt) { | |||
| _mesa_error(ctx, GL_INVALID_ENUM, "glGetQueryARB(target)"); | |||
| @@ -370,6 +392,10 @@ _mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glGetQueryObjectiv(%u, %s)\n", id, | |||
| _mesa_lookup_enum_by_nr(pname)); | |||
| if (id) | |||
| q = _mesa_lookup_query_object(ctx, id); | |||
| @@ -417,6 +443,10 @@ _mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glGetQueryObjectuiv(%u, %s)\n", id, | |||
| _mesa_lookup_enum_by_nr(pname)); | |||
| if (id) | |||
| q = _mesa_lookup_query_object(ctx, id); | |||
| @@ -467,6 +497,10 @@ _mesa_GetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glGetQueryObjecti64v(%u, %s)\n", id, | |||
| _mesa_lookup_enum_by_nr(pname)); | |||
| if (id) | |||
| q = _mesa_lookup_query_object(ctx, id); | |||
| @@ -504,6 +538,10 @@ _mesa_GetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glGetQueryObjectui64v(%u, %s)\n", id, | |||
| _mesa_lookup_enum_by_nr(pname)); | |||
| if (id) | |||
| q = _mesa_lookup_query_object(ctx, id); | |||
| @@ -1184,6 +1184,8 @@ void GLAPIENTRY | |||
| _mesa_CompileShaderARB(GLhandleARB shaderObj) | |||
| { | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glCompileShader %u\n", shaderObj); | |||
| compile_shader(ctx, shaderObj); | |||
| } | |||
| @@ -1192,6 +1194,8 @@ GLuint GLAPIENTRY | |||
| _mesa_CreateShader(GLenum type) | |||
| { | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glCreateShader %s\n", _mesa_lookup_enum_by_nr(type)); | |||
| return create_shader(ctx, type); | |||
| } | |||
| @@ -1208,6 +1212,8 @@ GLuint GLAPIENTRY | |||
| _mesa_CreateProgram(void) | |||
| { | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glCreateProgram\n"); | |||
| return create_shader_program(ctx); | |||
| } | |||
| @@ -1223,6 +1229,11 @@ _mesa_CreateProgramObjectARB(void) | |||
| void GLAPIENTRY | |||
| _mesa_DeleteObjectARB(GLhandleARB obj) | |||
| { | |||
| if (MESA_VERBOSE & VERBOSE_API) { | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| _mesa_debug(ctx, "glDeleteObjectARB(%u)\n", obj); | |||
| } | |||
| if (obj) { | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| if (is_program(ctx, obj)) { | |||
| @@ -147,6 +147,9 @@ _mesa_StencilFuncSeparateATI( GLenum frontfunc, GLenum backfunc, GLint ref, GLui | |||
| const GLint stencilMax = (1 << ctx->DrawBuffer->Visual.stencilBits) - 1; | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glStencilFuncSeparateATI()\n"); | |||
| if (!validate_stencil_func(ctx, frontfunc)) { | |||
| _mesa_error(ctx, GL_INVALID_ENUM, | |||
| "glStencilFuncSeparateATI(frontfunc)"); | |||
| @@ -203,6 +206,9 @@ _mesa_StencilFunc( GLenum func, GLint ref, GLuint mask ) | |||
| const GLint face = ctx->Stencil.ActiveFace; | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glStencilFunc()\n"); | |||
| if (!validate_stencil_func(ctx, func)) { | |||
| _mesa_error(ctx, GL_INVALID_ENUM, "glStencilFunc(func)"); | |||
| return; | |||
| @@ -267,6 +273,9 @@ _mesa_StencilMask( GLuint mask ) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| const GLint face = ctx->Stencil.ActiveFace; | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glStencilMask()\n"); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (face != 0) { | |||
| @@ -321,6 +330,9 @@ _mesa_StencilOp(GLenum fail, GLenum zfail, GLenum zpass) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| const GLint face = ctx->Stencil.ActiveFace; | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glStencilOp()\n"); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (!validate_stencil_op(ctx, fail)) { | |||
| @@ -386,6 +398,9 @@ _mesa_ActiveStencilFaceEXT(GLenum face) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glActiveStencilFaceEXT()\n"); | |||
| if (!ctx->Extensions.EXT_stencil_two_side) { | |||
| _mesa_error(ctx, GL_INVALID_OPERATION, "glActiveStencilFaceEXT"); | |||
| return; | |||
| @@ -416,6 +431,9 @@ _mesa_StencilOpSeparate(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glStencilOpSeparate()\n"); | |||
| if (!validate_stencil_op(ctx, sfail)) { | |||
| _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOpSeparate(sfail)"); | |||
| return; | |||
| @@ -471,6 +489,9 @@ _mesa_StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) | |||
| const GLint stencilMax = (1 << ctx->DrawBuffer->Visual.stencilBits) - 1; | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glStencilFuncSeparate()\n"); | |||
| if (face != GL_FRONT && face != GL_BACK && face != GL_FRONT_AND_BACK) { | |||
| _mesa_error(ctx, GL_INVALID_ENUM, "glStencilFuncSeparate(face)"); | |||
| return; | |||
| @@ -509,6 +530,9 @@ _mesa_StencilMaskSeparate(GLenum face, GLuint mask) | |||
| GET_CURRENT_CONTEXT(ctx); | |||
| ASSERT_OUTSIDE_BEGIN_END(ctx); | |||
| if (MESA_VERBOSE & VERBOSE_API) | |||
| _mesa_debug(ctx, "glStencilMaskSeparate()\n"); | |||
| if (face != GL_FRONT && face != GL_BACK && face != GL_FRONT_AND_BACK) { | |||
| _mesa_error(ctx, GL_INVALID_ENUM, "glStencilaMaskSeparate(face)"); | |||
| return; | |||