struct gl_query_object *CondRenderQuery;
GLenum CondRenderMode;
-#if FEATURE_feedback
/** MESA_META_SELECT_FEEDBACK */
GLenum RenderMode;
struct gl_selection Select;
struct gl_feedback Feedback;
-#endif
/** MESA_META_MULTISAMPLE */
GLboolean MultisampleEnabled;
_mesa_EndConditionalRender();
}
-#if FEATURE_feedback
if (state & MESA_META_SELECT_FEEDBACK) {
save->RenderMode = ctx->RenderMode;
if (ctx->RenderMode == GL_SELECT) {
_mesa_RenderMode(GL_RENDER);
}
}
-#endif
if (state & MESA_META_MULTISAMPLE) {
save->MultisampleEnabled = ctx->Multisample.Enabled;
save->CondRenderMode);
}
-#if FEATURE_feedback
if (state & MESA_META_SELECT_FEEDBACK) {
if (save->RenderMode == GL_SELECT) {
_mesa_RenderMode(GL_SELECT);
ctx->Feedback = save->Feedback;
}
}
-#endif
if (state & MESA_META_MULTISAMPLE) {
if (ctx->Multisample.Enabled != save->MultisampleEnabled)
#include "main/dispatch.h"
-#if FEATURE_feedback
-
-
#define FB_3D 0x01
#define FB_4D 0x02
#define FB_COLOR 0x04
}
-#endif /* FEATURE_feedback */
-
-
/**********************************************************************/
/** \name Initialization */
/*@{*/
#include "main/mtypes.h"
-#if FEATURE_feedback
-
extern GLint GLAPIENTRY
_mesa_RenderMode( GLenum mode );
extern void
_mesa_init_feedback_dispatch(struct _glapi_table *disp);
-#else /* FEATURE_feedback */
-
-#include "main/compiler.h"
-
-static inline void
-_mesa_feedback_vertex( struct gl_context *ctx,
- const GLfloat win[4],
- const GLfloat color[4],
- const GLfloat texcoord[4] )
-{
- /* render mode is always GL_RENDER */
- ASSERT_NO_FEATURE();
-}
-
-
-static inline void
-_mesa_feedback_token( struct gl_context *ctx, GLfloat token )
-{
- /* render mode is always GL_RENDER */
- ASSERT_NO_FEATURE();
-}
-
-static inline void
-_mesa_update_hitflag( struct gl_context *ctx, GLfloat z )
-{
- /* render mode is always GL_RENDER */
- ASSERT_NO_FEATURE();
-}
-
-static inline void
-_mesa_init_feedback_dispatch(struct _glapi_table *disp)
-{
-}
-
-#endif /* FEATURE_feedback */
extern void
_mesa_init_feedback( struct gl_context *ctx );
#define FEATURE_remap_table 0
#endif
-#define FEATURE_feedback FEATURE_GL
#define FEATURE_pixel_transfer FEATURE_GL
#define FEATURE_queryobj FEATURE_GL
#define FEATURE_rastpos FEATURE_GL
#include "draw/draw_pipe.h"
-#if FEATURE_feedback
-
/**
* This is actually used for both feedback and selection.
*/
{
functions->RenderMode = st_RenderMode;
}
-
-#endif /* FEATURE_feedback */
struct dd_function_table;
-#if FEATURE_feedback
-
extern void
st_init_feedback_functions(struct dd_function_table *functions);
-#else
-
-static INLINE void
-st_init_feedback_functions(struct dd_function_table *functions)
-{
-}
-
-#endif /* FEATURE_feedback */
#endif /* ST_CB_FEEDBACK_H */
vbo_set_draw_func(ctx, st_draw_vbo);
-#if FEATURE_feedback || FEATURE_rastpos
st->draw = draw_create(st->pipe); /* for selection/feedback */
/* Disable draw options that might convert points/lines to tris, etc.
draw_wide_point_threshold(st->draw, 1000.0f);
draw_enable_line_stipple(st->draw, FALSE);
draw_enable_point_sprites(st->draw, FALSE);
-#endif
}
void
st_destroy_draw(struct st_context *st)
{
-#if FEATURE_feedback || FEATURE_rastpos
draw_destroy(st->draw);
-#endif
}
#include "draw/draw_context.h"
-#if FEATURE_feedback || FEATURE_rastpos
-
/**
* Set the (private) draw module's post-transformed vertex format when in
* GL_SELECT or GL_FEEDBACK mode or for glRasterPos.
}
draw_set_vertex_buffers(draw, 0, NULL);
}
-
-#endif /* FEATURE_feedback || FEATURE_rastpos */
-
if (vpv->driver_shader)
cso_delete_vertex_shader(st->cso_context, vpv->driver_shader);
-#if FEATURE_feedback || FEATURE_rastpos
if (vpv->draw_shader)
draw_delete_vertex_shader( st->draw, vpv->draw_shader );
-#endif
if (vpv->tgsi.tokens)
st_free_tokens(vpv->tgsi.tokens);