On 05/03/2010 03:01 PM, Xavier Chantry wrote: > This fixes flightgear assertion in dxt stubs : > Mesa warning: external dxt library not available: texstore_rgba_dxt3 > util/u_format_s3tc.c:66:util_format_dxt3_rgba_fetch_stub: Assertion `0' > failed. > > Only advertise for BIND_SAMPLER_VIEW to avoid very weird paths, according to > José Fonseca.
Thanks, applied (also to nvfx). > --- > src/gallium/drivers/nouveau/nouveau_screen.c | 3 +++ > src/gallium/drivers/nv50/nv50_screen.c | 16 ++++++++++++---- > 2 files changed, 15 insertions(+), 4 deletions(-) > > diff --git a/src/gallium/drivers/nouveau/nouveau_screen.c > b/src/gallium/drivers/nouveau/nouveau_screen.c > index 233a91a..a91b00b 100644 > --- a/src/gallium/drivers/nouveau/nouveau_screen.c > +++ b/src/gallium/drivers/nouveau/nouveau_screen.c > @@ -5,6 +5,7 @@ > #include "util/u_memory.h" > #include "util/u_inlines.h" > #include "util/u_format.h" > +#include "util/u_format_s3tc.h" > > #include <stdio.h> > #include <errno.h> > @@ -248,6 +249,8 @@ nouveau_screen_init(struct nouveau_screen *screen, struct > nouveau_device *dev) > pscreen->fence_signalled = nouveau_screen_fence_signalled; > pscreen->fence_finish = nouveau_screen_fence_finish; > > + util_format_s3tc_init(); > + > return 0; > } > > diff --git a/src/gallium/drivers/nv50/nv50_screen.c > b/src/gallium/drivers/nv50/nv50_screen.c > index 2dd1042..bf46ceb 100644 > --- a/src/gallium/drivers/nv50/nv50_screen.c > +++ b/src/gallium/drivers/nv50/nv50_screen.c > @@ -20,6 +20,7 @@ > * SOFTWARE. > */ > > +#include "util/u_format_s3tc.h" > #include "pipe/p_screen.h" > > #include "nv50_context.h" > @@ -60,6 +61,17 @@ nv50_screen_is_format_supported(struct pipe_screen > *pscreen, > break; > } > } else { > + if (tex_usage & PIPE_BIND_SAMPLER_VIEW) { > + switch (format) { > + case PIPE_FORMAT_DXT1_RGB: > + case PIPE_FORMAT_DXT1_RGBA: > + case PIPE_FORMAT_DXT3_RGBA: > + case PIPE_FORMAT_DXT5_RGBA: > + return util_format_s3tc_enabled; > + default: > + break; > + } > + } > switch (format) { > case PIPE_FORMAT_B8G8R8A8_UNORM: > case PIPE_FORMAT_B8G8R8X8_UNORM: > @@ -72,10 +84,6 @@ nv50_screen_is_format_supported(struct pipe_screen > *pscreen, > case PIPE_FORMAT_A8_UNORM: > case PIPE_FORMAT_I8_UNORM: > case PIPE_FORMAT_L8A8_UNORM: > - case PIPE_FORMAT_DXT1_RGB: > - case PIPE_FORMAT_DXT1_RGBA: > - case PIPE_FORMAT_DXT3_RGBA: > - case PIPE_FORMAT_DXT5_RGBA: > case PIPE_FORMAT_S8_USCALED_Z24_UNORM: > case PIPE_FORMAT_Z24_UNORM_S8_USCALED: > case PIPE_FORMAT_Z32_FLOAT: _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev