Mesa (master): swr: fixes for format mapping and texture sizing

Tim Rowley torowley at kemper.freedesktop.org
Thu Sep 8 16:17:09 UTC 2016


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

Author: Tim Rowley <timothy.o.rowley at intel.com>
Date:   Wed Aug 17 10:12:04 2016 -0500

swr: fixes for format mapping and texture sizing

Signed-off-by: Tim Rowley <timothy.o.rowley at intel.com>

---

 src/gallium/drivers/swr/swr_screen.cpp | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/swr/swr_screen.cpp b/src/gallium/drivers/swr/swr_screen.cpp
index 5c94877..2ffb3a7 100644
--- a/src/gallium/drivers/swr/swr_screen.cpp
+++ b/src/gallium/drivers/swr/swr_screen.cpp
@@ -55,7 +55,7 @@ extern "C" {
  * Max texture sizes
  * XXX Check max texture size values against core and sampler.
  */
-#define SWR_MAX_TEXTURE_SIZE (4 * 1048 * 1048 * 1024ULL) /* 4GB */
+#define SWR_MAX_TEXTURE_SIZE (4 * 1024 * 1024 * 1024ULL) /* 4GB */
 #define SWR_MAX_TEXTURE_2D_LEVELS 14  /* 8K x 8K for now */
 #define SWR_MAX_TEXTURE_3D_LEVELS 12  /* 2K x 2K x 2K for now */
 #define SWR_MAX_TEXTURE_CUBE_LEVELS 14  /* 8K x 8K for now */
@@ -448,6 +448,20 @@ mesa_to_swr_format(enum pipe_format format)
       return R32_FLOAT_X8X24_TYPELESS;
    case PIPE_FORMAT_L8A8_UNORM:
       return R8G8_UNORM;
+   case PIPE_FORMAT_DXT1_RGB:
+   case PIPE_FORMAT_DXT1_RGBA:
+      return BC1_UNORM;
+   case PIPE_FORMAT_DXT3_RGBA:
+      return BC2_UNORM;
+   case PIPE_FORMAT_DXT5_RGBA:
+      return BC3_UNORM;
+   case PIPE_FORMAT_DXT1_SRGB:
+   case PIPE_FORMAT_DXT1_SRGBA:
+      return BC1_UNORM_SRGB;
+   case PIPE_FORMAT_DXT3_SRGBA:
+      return BC2_UNORM_SRGB;
+   case PIPE_FORMAT_DXT5_SRGBA:
+      return BC3_UNORM_SRGB;
    default:
       break;
    }
@@ -515,7 +529,7 @@ swr_texture_layout(struct swr_screen *screen,
 
    SWR_FORMAT_INFO finfo = GetFormatInfo(res->swr.format);
 
-   unsigned total_size = 0;
+   size_t total_size = 0;
    unsigned width = pt->width0;
    unsigned height = pt->height0;
    unsigned depth = pt->depth0;




More information about the mesa-commit mailing list