Mesa (master): st/mesa: don't set RENDER_TARGET/ DEPTH_STENCIL flag for compressed textures

Brian Paul brianp at kemper.freedesktop.org
Fri Apr 23 18:32:30 UTC 2010


Module: Mesa
Branch: master
Commit: 70df04404bc4459f3a7f527c8b847ea06a51b599
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=70df04404bc4459f3a7f527c8b847ea06a51b599

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Apr 23 12:28:55 2010 -0600

st/mesa: don't set RENDER_TARGET/DEPTH_STENCIL flag for compressed textures

---

 src/mesa/state_tracker/st_format.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c
index 180118d..2e40659 100644
--- a/src/mesa/state_tracker/st_format.c
+++ b/src/mesa/state_tracker/st_format.c
@@ -661,11 +661,13 @@ st_ChooseTextureFormat(GLcontext *ctx, GLint internalFormat,
     * An alternative would be to destroy and re-create a texture when
     * we first start rendering to it.
     */
-   if (_mesa_is_depth_format(internalFormat) ||
-       _mesa_is_depthstencil_format(internalFormat))
-      usage |= PIPE_BIND_DEPTH_STENCIL;
-   else 
-      usage |= PIPE_BIND_RENDER_TARGET;
+   if (!_mesa_is_compressed_format(ctx, internalFormat)) {
+      if (_mesa_is_depth_format(internalFormat) ||
+          _mesa_is_depthstencil_format(internalFormat))
+         usage |= PIPE_BIND_DEPTH_STENCIL;
+      else 
+         usage |= PIPE_BIND_RENDER_TARGET;
+   }
 
    pFormat = st_choose_format(ctx->st->pipe->screen, internalFormat,
                               PIPE_TEXTURE_2D, usage);




More information about the mesa-commit mailing list