i965: fix hacked Fallback usage in brw_prepare_vertices()

Setting intel->Fallback = 1 clobbered any fallback state that was already
set.  Not sure where this hack originated (the git history is a little
convoluted).  Define and use a new BRW_FALLBACK_DRAW bit instead.  This
shouldn't break anything and could potentially fix some bugs (but no
specific ones are known).
This commit is contained in:
Brian Paul 2009-10-22 16:45:50 -06:00
parent c24466c34e
commit 8810b8f671
2 changed files with 6 additions and 2 deletions

View file

@ -116,6 +116,8 @@
*/
#define BRW_FALLBACK_DRAW (INTEL_FALLBACK_DRIVER << 0)
#define BRW_MAX_CURBE (32*16)
struct brw_context;

View file

@ -375,9 +375,10 @@ static void brw_prepare_vertices(struct brw_context *brw)
* isn't an issue at this point.
*/
if (brw->vb.nr_enabled >= BRW_VEP_MAX) {
intel->Fallback = 1;
FALLBACK(intel, BRW_FALLBACK_DRAW, GL_TRUE);
return;
}
FALLBACK(intel, BRW_FALLBACK_DRAW, GL_FALSE);
for (i = 0; i < brw->vb.nr_enabled; i++) {
struct brw_vertex_element *input = brw->vb.enabled[i];
@ -427,9 +428,10 @@ static void brw_prepare_vertices(struct brw_context *brw)
/* Position array not properly enabled:
*/
if (input->glarray->StrideB == 0) {
intel->Fallback = 1;
FALLBACK(intel, BRW_FALLBACK_DRAW, GL_TRUE);
return;
}
FALLBACK(intel, BRW_FALLBACK_DRAW, GL_FALSE);
interleave = input->glarray->StrideB;
ptr = input->glarray->Ptr;