}
/* On Gen6, GS is also used for rasterizer discard. */
/* _NEW_TRANSFORM_FEEDBACK */
- if (ctx->TransformFeedback.RasterDiscard) {
+ if (ctx->RasterDiscard) {
key->need_gs_prog = true;
key->rasterizer_discard = true;
}
return;
}
- if (ctx->TransformFeedback.RasterDiscard)
+ if (ctx->RasterDiscard)
return;
if (ctx->RenderMode == GL_RENDER) {
ctx->DrawBuffer->_Ymin >= ctx->DrawBuffer->_Ymax)
return;
- if (ctx->TransformFeedback.RasterDiscard)
+ if (ctx->RasterDiscard)
return;
if (ctx->RenderMode == GL_RENDER) {
drawbuffer);
return;
}
- else if (!ctx->TransformFeedback.RasterDiscard) {
+ else if (!ctx->RasterDiscard) {
/* Save current stencil clear value, set to 'value', do the
* stencil clear and restore the clear value.
* XXX in the future we may have a new ctx->Driver.ClearBuffer()
drawbuffer);
return;
}
- else if (mask && !ctx->TransformFeedback.RasterDiscard) {
+ else if (mask && !ctx->RasterDiscard) {
union gl_color_union clearSave;
/* save color */
drawbuffer);
return;
}
- else if (mask && !ctx->TransformFeedback.RasterDiscard) {
+ else if (mask && !ctx->RasterDiscard) {
union gl_color_union clearSave;
/* save color */
drawbuffer);
return;
}
- else if (!ctx->TransformFeedback.RasterDiscard) {
+ else if (!ctx->RasterDiscard) {
/* Save current depth clear value, set to 'value', do the
* depth clear and restore the clear value.
* XXX in the future we may have a new ctx->Driver.ClearBuffer()
drawbuffer);
return;
}
- else if (mask && !ctx->TransformFeedback.RasterDiscard) {
+ else if (mask && !ctx->RasterDiscard) {
union gl_color_union clearSave;
/* save color */
return;
}
- if (ctx->TransformFeedback.RasterDiscard)
+ if (ctx->RasterDiscard)
return;
if (ctx->NewState) {
goto end; /* the error code was recorded */
}
- if (ctx->TransformFeedback.RasterDiscard) {
+ if (ctx->RasterDiscard) {
goto end;
}
goto end;
}
- if (ctx->TransformFeedback.RasterDiscard) {
+ if (ctx->RasterDiscard) {
goto end;
}
return;
}
- if (ctx->TransformFeedback.RasterDiscard)
+ if (ctx->RasterDiscard)
return;
if (ctx->RenderMode == GL_RENDER) {
#if FEATURE_EXT_transform_feedback
case GL_RASTERIZER_DISCARD:
CHECK_EXTENSION(EXT_transform_feedback, cap);
- if (ctx->TransformFeedback.RasterDiscard != state) {
+ if (ctx->RasterDiscard != state) {
FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
- ctx->TransformFeedback.RasterDiscard = state;
+ ctx->RasterDiscard = state;
}
break;
#endif
#if FEATURE_EXT_transform_feedback
case GL_RASTERIZER_DISCARD:
CHECK_EXTENSION(EXT_transform_feedback);
- return ctx->TransformFeedback.RasterDiscard;
+ return ctx->RasterDiscard;
#endif
/* GL_NV_primitive_restart */
/* GL_EXT_transform_feedback */
{ GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, LOC_CUSTOM, TYPE_INT, 0,
extra_EXT_transform_feedback },
- { GL_RASTERIZER_DISCARD, CONTEXT_BOOL(TransformFeedback.RasterDiscard),
+ { GL_RASTERIZER_DISCARD, CONTEXT_BOOL(RasterDiscard),
extra_EXT_transform_feedback },
{ GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
CONTEXT_INT(Const.MaxTransformFeedbackInterleavedComponents),
{
GLenum Mode; /**< GL_POINTS, GL_LINES or GL_TRIANGLES */
- GLboolean RasterDiscard; /**< GL_RASTERIZER_DISCARD */
-
/** The general binding point (GL_TRANSFORM_FEEDBACK_BUFFER) */
struct gl_buffer_object *CurrentBuffer;
*/
GLboolean mvp_with_dp4;
+ GLboolean RasterDiscard; /**< GL_RASTERIZER_DISCARD */
+
/**
* \name Hooks for module contexts.
*
raster->gl_rasterization_rules = 1;
/* _NEW_TRANSFORM */
- raster->rasterizer_discard = ctx->TransformFeedback.RasterDiscard;
+ raster->rasterizer_discard = ctx->RasterDiscard;
cso_set_rasterizer(st->cso_context, raster);
}