#include "main/dispatch.h"
-#if FEATURE_feedback
-
-
#define FB_3D 0x01
#define FB_4D 0x02
#define FB_COLOR 0x04
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
+ if (size < 0) {
+ _mesa_error(ctx, GL_INVALID_VALUE, "glSelectBuffer(size)");
+ return;
+ }
+
if (ctx->RenderMode==GL_SELECT) {
_mesa_error( ctx, GL_INVALID_OPERATION, "glSelectBuffer" );
return; /* KW: added return */
* Verifies there is free space in the buffer to write the value and
* increments the pointer.
*/
-static INLINE void
+static inline void
write_record(struct gl_context *ctx, GLuint value)
{
if (ctx->Select.BufferCount < ctx->Select.BufferSize) {
* __struct gl_contextRec::RenderMode and notifies the driver via the
* dd_function_table::RenderMode callback.
*/
-static GLint GLAPIENTRY
+GLint GLAPIENTRY
_mesa_RenderMode( GLenum mode )
{
GET_CURRENT_CONTEXT(ctx);
ctx->Select.Hits = 0;
ctx->Select.NameStackDepth = 0;
break;
-#if _HAVE_FULL_GL
case GL_FEEDBACK:
if (ctx->Feedback.Count > ctx->Feedback.BufferSize) {
/* overflow */
}
ctx->Feedback.Count = 0;
break;
-#endif
default:
_mesa_error( ctx, GL_INVALID_ENUM, "glRenderMode" );
return 0;
_mesa_error( ctx, GL_INVALID_OPERATION, "glRenderMode" );
}
break;
-#if _HAVE_FULL_GL
case GL_FEEDBACK:
if (ctx->Feedback.BufferSize==0) {
/* haven't called glFeedbackBuffer yet */
_mesa_error( ctx, GL_INVALID_OPERATION, "glRenderMode" );
}
break;
-#endif
default:
_mesa_error( ctx, GL_INVALID_ENUM, "glRenderMode" );
return 0;
}
-#endif /* FEATURE_feedback */
-
-
/**********************************************************************/
/** \name Initialization */
/*@{*/