gallium: don't use edgeflags if the app didn't supply them

This commit is contained in:
Roland Scheidegger
2009-12-19 20:25:43 +01:00
parent 1aba413a70
commit 420ff89067
3 changed files with 16 additions and 4 deletions

View File

@@ -112,10 +112,12 @@ find_translated_vp(struct st_context *st,
* edgeflag semantics, and extend the vertex shader to pass through
* the input to the output. We'll need to use similar logic to set
* up the extra vertex_element input for edgeflags.
* _NEW_POLYGON, ST_NEW_EDGEFLAGS_DATA
*/
key.passthrough_edgeflags = (st->ctx->Polygon.FrontMode != GL_FILL ||
st->ctx->Polygon.BackMode != GL_FILL);
key.passthrough_edgeflags = (st->vertdata_edgeflags && (
st->ctx->Polygon.FrontMode != GL_FILL ||
st->ctx->Polygon.BackMode != GL_FILL));
/* Do we need to throw away old translations after a change in the
* GL program string?
@@ -228,7 +230,7 @@ const struct st_tracked_state st_update_vp = {
"st_update_vp", /* name */
{ /* dirty */
_NEW_POLYGON, /* mesa */
ST_NEW_VERTEX_PROGRAM /* st */
ST_NEW_VERTEX_PROGRAM | ST_NEW_EDGEFLAGS_DATA /* st */
},
update_vp /* update */
};