Mesa (main): mesa/st: drop the rasterizer driver flags
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Dec 23 19:35:09 UTC 2021
Module: Mesa
Branch: main
Commit: c5af853cb922c1cba5f38b1a9b9b130f45365702
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5af853cb922c1cba5f38b1a9b9b130f45365702
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Dec 20 12:20:42 2021 +1000
mesa/st: drop the rasterizer driver flags
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14261>
---
src/mesa/main/conservativeraster.c | 9 +++----
src/mesa/main/enable.c | 52 ++++++++++++++++---------------------
src/mesa/main/lines.c | 9 ++++---
src/mesa/main/mtypes.h | 28 --------------------
src/mesa/main/polygon.c | 25 +++++++++---------
src/mesa/main/viewport.c | 9 +++----
src/mesa/state_tracker/st_context.c | 7 -----
7 files changed, 47 insertions(+), 92 deletions(-)
diff --git a/src/mesa/main/conservativeraster.c b/src/mesa/main/conservativeraster.c
index 24d6132b172..793a6c9e2bd 100644
--- a/src/mesa/main/conservativeraster.c
+++ b/src/mesa/main/conservativeraster.c
@@ -33,6 +33,8 @@
#include "enums.h"
#include "api_exec_decl.h"
+#include "state_tracker/st_context.h"
+
static ALWAYS_INLINE void
conservative_raster_parameter(GLenum pname, GLfloat param,
bool no_error, const char *func)
@@ -62,8 +64,7 @@ conservative_raster_parameter(GLenum pname, GLfloat param,
}
FLUSH_VERTICES(ctx, 0, 0);
- ctx->NewDriverState |=
- ctx->DriverFlags.NewNvConservativeRasterizationParams;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->ConservativeRasterDilate =
CLAMP(param,
@@ -82,9 +83,7 @@ conservative_raster_parameter(GLenum pname, GLfloat param,
}
FLUSH_VERTICES(ctx, 0, 0);
- ctx->NewDriverState |=
- ctx->DriverFlags.NewNvConservativeRasterizationParams;
-
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->ConservativeRasterMode = param;
break;
default:
diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
index e94e098040e..e8cd1dfafb6 100644
--- a/src/mesa/main/enable.c
+++ b/src/mesa/main/enable.c
@@ -503,10 +503,9 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
case GL_CULL_FACE:
if (ctx->Polygon.CullFlag == state)
return;
- FLUSH_VERTICES(ctx,
- ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT | GL_ENABLE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.CullFlag = state;
break;
case GL_DEPTH_TEST:
@@ -577,9 +576,9 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->Line.SmoothFlag == state)
return;
- FLUSH_VERTICES(ctx, ctx->DriverFlags.NewLineState ? 0 : _NEW_LINE,
+ FLUSH_VERTICES(ctx, 0,
GL_LINE_BIT | GL_ENABLE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewLineState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Line.SmoothFlag = state;
break;
case GL_LINE_STIPPLE:
@@ -587,9 +586,9 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->Line.StippleFlag == state)
return;
- FLUSH_VERTICES(ctx, ctx->DriverFlags.NewLineState ? 0 : _NEW_LINE,
+ FLUSH_VERTICES(ctx, 0,
GL_LINE_BIT | GL_ENABLE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewLineState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Line.StippleFlag = state;
break;
case GL_INDEX_LOGIC_OP:
@@ -608,8 +607,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
if (ctx->IntelConservativeRasterization == state)
return;
FLUSH_VERTICES(ctx, 0, 0);
- ctx->NewDriverState |=
- ctx->DriverFlags.NewIntelConservativeRasterization;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->IntelConservativeRasterization = state;
_mesa_update_valid_to_render_state(ctx);
break;
@@ -619,8 +617,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
if (ctx->ConservativeRasterization == state)
return;
FLUSH_VERTICES(ctx, 0, GL_ENABLE_BIT);
- ctx->NewDriverState |=
- ctx->DriverFlags.NewNvConservativeRasterization;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->ConservativeRasterization = state;
break;
case GL_COLOR_LOGIC_OP:
@@ -818,10 +815,9 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->Polygon.SmoothFlag == state)
return;
- FLUSH_VERTICES(ctx,
- ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT | GL_ENABLE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.SmoothFlag = state;
break;
case GL_POLYGON_STIPPLE:
@@ -829,10 +825,9 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->Polygon.StippleFlag == state)
return;
- FLUSH_VERTICES(ctx,
- ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT | GL_ENABLE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.StippleFlag = state;
break;
case GL_POLYGON_OFFSET_POINT:
@@ -840,10 +835,9 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->Polygon.OffsetPoint == state)
return;
- FLUSH_VERTICES(ctx,
- ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT | GL_ENABLE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.OffsetPoint = state;
break;
case GL_POLYGON_OFFSET_LINE:
@@ -851,19 +845,17 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->Polygon.OffsetLine == state)
return;
- FLUSH_VERTICES(ctx,
- ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT | GL_ENABLE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.OffsetLine = state;
break;
case GL_POLYGON_OFFSET_FILL:
if (ctx->Polygon.OffsetFill == state)
return;
- FLUSH_VERTICES(ctx,
- ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT | GL_ENABLE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.OffsetFill = state;
break;
case GL_RESCALE_NORMAL_EXT:
@@ -1230,7 +1222,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->RasterDiscard != state) {
FLUSH_VERTICES(ctx, 0, 0);
- ctx->NewDriverState |= ctx->DriverFlags.NewRasterizerDiscard;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->RasterDiscard = state;
}
break;
@@ -1240,7 +1232,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->TileRasterOrderFixed != state) {
FLUSH_VERTICES(ctx, 0, GL_ENABLE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewTileRasterOrder;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->TileRasterOrderFixed = state;
}
break;
@@ -1250,7 +1242,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->TileRasterOrderIncreasingX != state) {
FLUSH_VERTICES(ctx, 0, GL_ENABLE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewTileRasterOrder;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->TileRasterOrderIncreasingX = state;
}
break;
@@ -1260,7 +1252,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->TileRasterOrderIncreasingY != state) {
FLUSH_VERTICES(ctx, 0, GL_ENABLE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewTileRasterOrder;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->TileRasterOrderIncreasingY = state;
}
break;
diff --git a/src/mesa/main/lines.c b/src/mesa/main/lines.c
index a4ec44bf7f8..7629d242e9f 100644
--- a/src/mesa/main/lines.c
+++ b/src/mesa/main/lines.c
@@ -30,6 +30,7 @@
#include "mtypes.h"
#include "api_exec_decl.h"
+#include "state_tracker/st_context.h"
/**
* Set the line width.
@@ -68,8 +69,8 @@ line_width(struct gl_context *ctx, GLfloat width, bool no_error)
return;
}
- FLUSH_VERTICES(ctx, ctx->DriverFlags.NewLineState ? 0 : _NEW_LINE, GL_LINE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewLineState;
+ FLUSH_VERTICES(ctx, 0, GL_LINE_BIT);
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Line.Width = width;
}
@@ -120,8 +121,8 @@ _mesa_LineStipple( GLint factor, GLushort pattern )
ctx->Line.StipplePattern == pattern)
return;
- FLUSH_VERTICES(ctx, ctx->DriverFlags.NewLineState ? 0 : _NEW_LINE, GL_LINE_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewLineState;
+ FLUSH_VERTICES(ctx, 0, GL_LINE_BIT);
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Line.StippleFactor = factor;
ctx->Line.StipplePattern = pattern;
}
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index fd94febb08d..c60657f64cc 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -4774,12 +4774,6 @@ struct gl_driver_flags
/** gl_context::TransformFeedback::CurrentObject::shader_program */
uint64_t NewTransformFeedbackProg;
- /** gl_context::RasterDiscard */
- uint64_t NewRasterizerDiscard;
-
- /** gl_context::TileRasterOrder* */
- uint64_t NewTileRasterOrder;
-
/**
* gl_context::UniformBufferBindings
* gl_shader_program::UniformBlocks
@@ -4810,22 +4804,6 @@ struct gl_driver_flags
*/
uint64_t NewTessState;
- /**
- * gl_context::IntelConservativeRasterization
- */
- uint64_t NewIntelConservativeRasterization;
-
- /**
- * gl_context::NvConservativeRasterization
- */
- uint64_t NewNvConservativeRasterization;
-
- /**
- * gl_context::ConservativeRasterMode/ConservativeRasterDilate
- * gl_context::SubpixelPrecisionBias
- */
- uint64_t NewNvConservativeRasterizationParams;
-
/**
* gl_context::Scissor::WindowRects
*/
@@ -4885,12 +4863,6 @@ struct gl_driver_flags
/** gl_context::Color::ClampFragmentColor */
uint64_t NewFragClamp;
- /** gl_context::Line */
- uint64_t NewLineState;
-
- /** gl_context::Polygon */
- uint64_t NewPolygonState;
-
/** gl_context::PolygonStipple */
uint64_t NewPolygonStipple;
diff --git a/src/mesa/main/polygon.c b/src/mesa/main/polygon.c
index 8414c3aa16e..4a0869aac8e 100644
--- a/src/mesa/main/polygon.c
+++ b/src/mesa/main/polygon.c
@@ -40,6 +40,7 @@
#include "mtypes.h"
#include "api_exec_decl.h"
+#include "state_tracker/st_context.h"
/**
* Specify whether to cull front- or back-facing facets.
@@ -64,9 +65,9 @@ cull_face(struct gl_context *ctx, GLenum mode, bool no_error)
return;
}
- FLUSH_VERTICES(ctx, ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.CullFaceMode = mode;
}
@@ -113,9 +114,9 @@ front_face(struct gl_context *ctx, GLenum mode, bool no_error)
return;
}
- FLUSH_VERTICES(ctx, ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.FrontFace = mode;
}
@@ -188,17 +189,17 @@ polygon_mode(struct gl_context *ctx, GLenum face, GLenum mode, bool no_error)
}
if (ctx->Polygon.FrontMode == mode)
return;
- FLUSH_VERTICES(ctx, ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.FrontMode = mode;
break;
case GL_FRONT_AND_BACK:
if (ctx->Polygon.FrontMode == mode && ctx->Polygon.BackMode == mode)
return;
- FLUSH_VERTICES(ctx, ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.FrontMode = mode;
ctx->Polygon.BackMode = mode;
break;
@@ -209,9 +210,9 @@ polygon_mode(struct gl_context *ctx, GLenum face, GLenum mode, bool no_error)
}
if (ctx->Polygon.BackMode == mode)
return;
- FLUSH_VERTICES(ctx, ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.BackMode = mode;
break;
default:
@@ -314,9 +315,9 @@ _mesa_polygon_offset_clamp(struct gl_context *ctx,
ctx->Polygon.OffsetClamp == clamp)
return;
- FLUSH_VERTICES(ctx, ctx->DriverFlags.NewPolygonState ? 0 : _NEW_POLYGON,
+ FLUSH_VERTICES(ctx, 0,
GL_POLYGON_BIT);
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
ctx->Polygon.OffsetFactor = factor;
ctx->Polygon.OffsetUnits = units;
ctx->Polygon.OffsetClamp = clamp;
diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c
index 38a0651797d..12b0736f020 100644
--- a/src/mesa/main/viewport.c
+++ b/src/mesa/main/viewport.c
@@ -37,6 +37,7 @@
#include "api_exec_decl.h"
#include "state_tracker/st_cb_viewport.h"
+#include "state_tracker/st_context.h"
static void
clamp_viewport(struct gl_context *ctx, GLfloat *x, GLfloat *y,
@@ -515,10 +516,7 @@ clip_control(struct gl_context *ctx, GLenum origin, GLenum depth, bool no_error)
ctx->Transform.ClipOrigin = origin;
/* Affects the winding order of the front face. */
- if (ctx->DriverFlags.NewPolygonState)
- ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
- else
- ctx->NewState |= _NEW_POLYGON;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
}
if (ctx->Transform.ClipDepthMode != depth) {
@@ -601,8 +599,7 @@ subpixel_precision_bias(struct gl_context *ctx, GLuint xbits, GLuint ybits)
ctx->SubpixelPrecisionBias[0] = xbits;
ctx->SubpixelPrecisionBias[1] = ybits;
- ctx->NewDriverState |=
- ctx->DriverFlags.NewNvConservativeRasterizationParams;
+ ctx->NewDriverState |= ST_NEW_RASTERIZER;
}
void GLAPIENTRY
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 2ad84c279f7..10c93a3ac79 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -447,8 +447,6 @@ st_init_driver_flags(struct st_context *st)
{
struct gl_driver_flags *f = &st->ctx->DriverFlags;
- f->NewRasterizerDiscard = ST_NEW_RASTERIZER;
- f->NewTileRasterOrder = ST_NEW_RASTERIZER;
f->NewUniformBuffer = ST_NEW_UNIFORM_BUFFER;
f->NewTessState = ST_NEW_TESS_STATE;
@@ -513,13 +511,8 @@ st_init_driver_flags(struct st_context *st)
else
f->NewClipPlaneEnable = ST_NEW_RASTERIZER;
- f->NewLineState = ST_NEW_RASTERIZER;
- f->NewPolygonState = ST_NEW_RASTERIZER;
f->NewPolygonStipple = ST_NEW_POLY_STIPPLE;
f->NewViewport = ST_NEW_VIEWPORT;
- f->NewNvConservativeRasterization = ST_NEW_RASTERIZER;
- f->NewNvConservativeRasterizationParams = ST_NEW_RASTERIZER;
- f->NewIntelConservativeRasterization = ST_NEW_RASTERIZER;
if (st->emulate_gl_clamp)
f->NewSamplersWithClamp = ST_NEW_SAMPLERS |
More information about the mesa-commit
mailing list