OSDN Git Service

svga: fix the test for sRGB texture formats
authorBrian Paul <brianp@vmware.com>
Wed, 27 Jul 2011 22:08:58 +0000 (16:08 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 22 Sep 2011 14:26:36 +0000 (08:26 -0600)
The pipe_sampler_view::format field should be prefered over the resource/
texture format.  The former is used to override the texture format for
sRGB decode enable/disable, etc.

Also, use new util_format_is_srgb() helper to catch all sRGB formats.

This fixes the piglit tex-srgb test for GL_EXT_texture_sRGB_decode.

src/gallium/drivers/svga/svga_pipe_sampler.c

index 446fcc4..dcfeaac 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "util/u_inlines.h"
 #include "pipe/p_defines.h"
+#include "util/u_format.h"
 #include "util/u_math.h"
 #include "util/u_memory.h"
 #include "tgsi/tgsi_parse.h"
@@ -230,7 +231,7 @@ svga_set_fragment_sampler_views(struct pipe_context *pipe,
       if (!views[i])
          continue;
 
-      if (views[i]->texture->format == PIPE_FORMAT_B8G8R8A8_SRGB)
+      if (util_format_is_srgb(views[i]->format))
          flag_srgb |= 1 << i;
 
       if (views[i]->texture->target == PIPE_TEXTURE_1D)