#include "enums.h"
#include "feedback.h"
#include "macros.h"
+#include "mfeatures.h"
#include "mtypes.h"
-#include "glapi/dispatch.h"
+#include "main/dispatch.h"
#if FEATURE_feedback
#define FB_3D 0x01
#define FB_4D 0x02
-#define FB_INDEX 0x04
-#define FB_COLOR 0x08
-#define FB_TEXTURE 0X10
+#define FB_COLOR 0x04
+#define FB_TEXTURE 0X08
ctx->Feedback._Mask = FB_3D;
break;
case GL_3D_COLOR:
- ctx->Feedback._Mask = (FB_3D |
- (ctx->Visual.rgbMode ? FB_COLOR : FB_INDEX));
+ ctx->Feedback._Mask = (FB_3D | FB_COLOR);
break;
case GL_3D_COLOR_TEXTURE:
- ctx->Feedback._Mask = (FB_3D |
- (ctx->Visual.rgbMode ? FB_COLOR : FB_INDEX) |
- FB_TEXTURE);
+ ctx->Feedback._Mask = (FB_3D | FB_COLOR | FB_TEXTURE);
break;
case GL_4D_COLOR_TEXTURE:
- ctx->Feedback._Mask = (FB_3D | FB_4D |
- (ctx->Visual.rgbMode ? FB_COLOR : FB_INDEX) |
- FB_TEXTURE);
+ ctx->Feedback._Mask = (FB_3D | FB_4D | FB_COLOR | FB_TEXTURE);
break;
default:
_mesa_error( ctx, GL_INVALID_ENUM, "glFeedbackBuffer" );
* Put a vertex into the feedback buffer.
*/
void
-_mesa_feedback_vertex(GLcontext *ctx,
+_mesa_feedback_vertex(struct gl_context *ctx,
const GLfloat win[4],
const GLfloat color[4],
- GLfloat index,
const GLfloat texcoord[4])
{
_mesa_feedback_token( ctx, win[0] );
if (ctx->Feedback._Mask & FB_4D) {
_mesa_feedback_token( ctx, win[3] );
}
- if (ctx->Feedback._Mask & FB_INDEX) {
- _mesa_feedback_token( ctx, (GLfloat) index );
- }
if (ctx->Feedback._Mask & FB_COLOR) {
_mesa_feedback_token( ctx, color[0] );
_mesa_feedback_token( ctx, color[1] );
* \note this function can't be put in a display list.
*
* Verifies we're not in selection mode, flushes the vertices and initialize
- * the fields in __GLcontextRec::Select with the given buffer.
+ * the fields in __struct gl_contextRec::Select with the given buffer.
*/
static void GLAPIENTRY
_mesa_SelectBuffer( GLsizei size, GLuint *buffer )
* increments the pointer.
*/
static INLINE void
-write_record(GLcontext *ctx, GLuint value)
+write_record(struct gl_context *ctx, GLuint value)
{
if (ctx->Select.BufferCount < ctx->Select.BufferSize) {
ctx->Select.Buffer[ctx->Select.BufferCount] = value;
* gl_selection::HitMaxZ.
*/
void
-_mesa_update_hitflag(GLcontext *ctx, GLfloat z)
+_mesa_update_hitflag(struct gl_context *ctx, GLfloat z)
{
ctx->Select.HitFlag = GL_TRUE;
if (z < ctx->Select.HitMinZ) {
* \sa gl_selection.
*/
static void
-write_hit_record(GLcontext *ctx)
+write_hit_record(struct gl_context *ctx)
{
GLuint i;
GLuint zmin, zmax, zscale = (~0u);
*
* Verifies we are in select mode and resets the name stack depth and resets
* the hit record data in gl_selection. Marks new render mode in
- * __GLcontextRec::NewState.
+ * __struct gl_contextRec::NewState.
*/
static void GLAPIENTRY
_mesa_InitNames( void )
* Flushes vertices. If there is a hit flag writes it (via write_hit_record()),
* and replace the top-most name in the stack.
*
- * sa __GLcontextRec::Select.
+ * sa __struct gl_contextRec::Select.
*/
static void GLAPIENTRY
_mesa_LoadName( GLuint name )
* Flushes vertices. If there is a hit flag writes it (via write_hit_record()),
* and adds the name to the top of the name stack.
*
- * sa __GLcontextRec::Select.
+ * sa __struct gl_contextRec::Select.
*/
static void GLAPIENTRY
_mesa_PushName( GLuint name )
* Flushes vertices. If there is a hit flag writes it (via write_hit_record()),
* and removes top-most name in the name stack.
*
- * sa __GLcontextRec::Select.
+ * sa __struct gl_contextRec::Select.
*/
static void GLAPIENTRY
_mesa_PopName( void )
* Flushes the vertices and do the necessary cleanup according to the previous
* rasterization mode, such as writing the hit record or resent the select
* buffer index when exiting the select mode. Updates
- * __GLcontextRec::RenderMode and notifies the driver via the
+ * __struct gl_contextRec::RenderMode and notifies the driver via the
* dd_function_table::RenderMode callback.
*/
static GLint GLAPIENTRY
/**
* Initialize context feedback data.
*/
-void _mesa_init_feedback( GLcontext * ctx )
+void _mesa_init_feedback( struct gl_context * ctx )
{
/* Feedback */
ctx->Feedback.Type = GL_2D; /* TODO: verify */