From 3c368bb307544a51f8b8d13f0d496a742086c9e2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Nov 2012 14:37:00 -0800 Subject: [PATCH] i965/gen4: Respect the VERTEX_PROGRAM_TWO_SIDE vertex program/shader flag. Fixes piglit "vertex-program-two-side enabled front back" and 4 others. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_sf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_sf.c b/src/mesa/drivers/dri/i965/brw_sf.c index 23a874aa8ec..eb361a97092 100644 --- a/src/mesa/drivers/dri/i965/brw_sf.c +++ b/src/mesa/drivers/dri/i965/brw_sf.c @@ -190,9 +190,10 @@ brw_upload_sf_prog(struct brw_context *brw) if ((ctx->Point.SpriteOrigin == GL_LOWER_LEFT) != render_to_fbo) key.sprite_origin_lower_left = true; - /* _NEW_LIGHT */ + /* _NEW_LIGHT | _NEW_PROGRAM */ key.do_flat_shading = (ctx->Light.ShadeModel == GL_FLAT); - key.do_twoside_color = (ctx->Light.Enabled && ctx->Light.Model.TwoSide); + key.do_twoside_color = ((ctx->Light.Enabled && ctx->Light.Model.TwoSide) || + ctx->VertexProgram._TwoSideEnabled); /* _NEW_POLYGON */ if (key.do_twoside_color) { @@ -214,7 +215,7 @@ brw_upload_sf_prog(struct brw_context *brw) const struct brw_tracked_state brw_sf_prog = { .dirty = { .mesa = (_NEW_HINT | _NEW_LIGHT | _NEW_POLYGON | _NEW_POINT | - _NEW_TRANSFORM | _NEW_BUFFERS), + _NEW_TRANSFORM | _NEW_BUFFERS | _NEW_PROGRAM), .brw = (BRW_NEW_REDUCED_PRIMITIVE), .cache = CACHE_NEW_VS_PROG }, -- 2.30.2