nvfx: don't use hw index buffers on nv3x and nv44

They only apparently work on nv40 grclass cards, and this was the
previous behavior of the driver.

This really needs to be investigated more.
This commit is contained in:
Luca Barbieri 2010-04-12 20:36:44 +02:00
parent f9397f34b6
commit 6d6acaebad
2 changed files with 3 additions and 2 deletions

View file

@ -70,8 +70,9 @@ nvfx_screen_get_param(struct pipe_screen *pscreen, int param)
case PIPE_CAP_BLEND_EQUATION_SEPARATE:
return !!screen->is_nv4x;
case NOUVEAU_CAP_HW_VTXBUF:
case NOUVEAU_CAP_HW_IDXBUF:
return !screen->force_swtnl;
case NOUVEAU_CAP_HW_IDXBUF:
return !screen->force_swtnl && nvfx->screen->eng3d->grclass == NV40TCL;
case PIPE_CAP_MAX_COMBINED_SAMPLERS:
return 16;
case PIPE_CAP_INDEP_BLEND_ENABLE:

View file

@ -90,7 +90,7 @@ nvfx_vbo_set_idxbuf(struct nvfx_context *nvfx, struct pipe_resource *ib,
return FALSE;
}
if (!pscreen->get_param(pscreen, NOUVEAU_CAP_HW_IDXBUF) || ib_size == 1)
if (nvfx->screen->eng3d->grclass != NV40TCL || ib_size == 1)
return FALSE;
switch (ib_size) {