Mesa (master): i830: Fix culling with user fbos on gen2

Ian Romanick idr at kemper.freedesktop.org
Tue Oct 6 19:19:47 UTC 2015


Module: Mesa
Branch: master
Commit: 021f15816e74ec012b8cb904d9f0bc05ff5885b0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=021f15816e74ec012b8cb904d9f0bc05ff5885b0

Author: Ville Syrjälä <ville.syrjala at linux.intel.com>
Date:   Mon Mar 23 14:47:35 2015 +0200

i830: Fix culling with user fbos on gen2

Flip the cull bits when rendering to a user fbo on gen2. This
was already done on gen3 (since before git history starts)
but was missing from the gen2 code.

Fixes rendering of the driver+kart model in supertuxkart kart
selection screen.

Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/mesa/drivers/dri/i915/i830_state.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/mesa/drivers/dri/i915/i830_state.c b/src/mesa/drivers/dri/i915/i830_state.c
index 906e942..7ce5ef7 100644
--- a/src/mesa/drivers/dri/i915/i830_state.c
+++ b/src/mesa/drivers/dri/i915/i830_state.c
@@ -601,6 +601,8 @@ i830CullFaceFrontFace(struct gl_context * ctx, GLenum unused)
    else if (ctx->Polygon.CullFaceMode != GL_FRONT_AND_BACK) {
       mode = CULLMODE_CW;
 
+      if (ctx->DrawBuffer && _mesa_is_user_fbo(ctx->DrawBuffer))
+         mode ^= (CULLMODE_CW ^ CULLMODE_CCW);
       if (ctx->Polygon.CullFaceMode == GL_FRONT)
          mode ^= (CULLMODE_CW ^ CULLMODE_CCW);
       if (ctx->Polygon.FrontFace != GL_CCW)




More information about the mesa-commit mailing list