[Mesa-dev] [PATCH 7/9] i915: There's always a fragment program
Ian Romanick
idr at freedesktop.org
Fri Apr 15 23:10:50 PDT 2011
From: Ian Romanick <ian.d.romanick at intel.com>
Fragment programs are generated by core Mesa for fixed-function.
Because of this, there's no reason to handle cases where there is no
fragment program for fog.
---
src/mesa/drivers/dri/i915/i915_state.c | 31 +++++--------------------------
1 files changed, 5 insertions(+), 26 deletions(-)
diff --git a/src/mesa/drivers/dri/i915/i915_state.c b/src/mesa/drivers/dri/i915/i915_state.c
index 05fc26f..df10031 100644
--- a/src/mesa/drivers/dri/i915/i915_state.c
+++ b/src/mesa/drivers/dri/i915/i915_state.c
@@ -729,36 +729,15 @@ void
i915_update_fog(struct gl_context * ctx)
{
struct i915_context *i915 = I915_CONTEXT(ctx);
- GLenum mode;
- GLboolean enabled;
GLuint dw;
- if (ctx->FragmentProgram._Current) {
- /* Pull in static fog state from program */
- mode = GL_NONE;
- enabled = GL_FALSE;
- }
- else {
- enabled = ctx->Fog.Enabled;
- mode = ctx->Fog.Mode;
- }
+ assert(ctx->FragmentProgram._Current);
- if (!enabled) {
- i915->vertex_fog = I915_FOG_NONE;
- }
- else { /* if (i915->vertex_fog != I915_FOG_VERTEX) */
- I915_STATECHANGE(i915, I915_UPLOAD_FOG);
- i915->state.Fog[I915_FOGREG_MODE1] &= ~FMC1_FOGFUNC_MASK;
- i915->state.Fog[I915_FOGREG_MODE1] |= FMC1_FOGFUNC_VERTEX;
- i915->vertex_fog = I915_FOG_VERTEX;
- }
+ i915->vertex_fog = I915_FOG_NONE;
+
+ I915_ACTIVESTATE(i915, I915_UPLOAD_FOG, 0);
+ dw = i915->state.Ctx[I915_CTXREG_LIS5] & ~S5_FOG_ENABLE;
- I915_ACTIVESTATE(i915, I915_UPLOAD_FOG, enabled);
- dw = i915->state.Ctx[I915_CTXREG_LIS5];
- if (enabled)
- dw |= S5_FOG_ENABLE;
- else
- dw &= ~S5_FOG_ENABLE;
if (dw != i915->state.Ctx[I915_CTXREG_LIS5]) {
i915->state.Ctx[I915_CTXREG_LIS5] = dw;
I915_STATECHANGE(i915, I915_UPLOAD_CTX);
--
1.7.4
More information about the mesa-dev
mailing list