Mesa (master): swr: [rasterizer core] add support for "RAW" surface format

Tim Rowley torowley at kemper.freedesktop.org
Tue Oct 11 16:58:30 UTC 2016


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

Author: Tim Rowley <timothy.o.rowley at intel.com>
Date:   Tue Oct  4 13:14:32 2016 -0500

swr: [rasterizer core] add support for "RAW" surface format

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

---

 .../drivers/swr/rasterizer/common/formats.cpp      | 23 ++++++++++++++++++++++
 .../drivers/swr/rasterizer/common/formats.h        |  6 ++++++
 2 files changed, 29 insertions(+)

diff --git a/src/gallium/drivers/swr/rasterizer/common/formats.cpp b/src/gallium/drivers/swr/rasterizer/common/formats.cpp
index 8a65886..2d2bf21 100644
--- a/src/gallium/drivers/swr/rasterizer/common/formats.cpp
+++ b/src/gallium/drivers/swr/rasterizer/common/formats.cpp
@@ -6082,4 +6082,27 @@ const SWR_FORMAT_INFO gFormatInfo[] = {
         1, // bcWidth
         1, // bcHeight
     },
+    // <---- Add new "supported" formats here!
+
+
+    // ... skip a long range ...
+    // RAW (0x1ff)
+    {
+        "RAW",
+        { SWR_TYPE_FLOAT, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, SWR_TYPE_UNKNOWN, },
+        { 0, 0, 0, 0 }, // Defaults for missing components
+        { 0, 1, 2, 3 }, // Swizzle
+        { 32, 0, 0, 0 }, // Bits per component
+        32, // Bits per element
+        4, // Bytes per element
+        1, // Num components
+        false, // isSRGB
+        false, // isBC
+        false, // isSubsampled
+        false, // isLuminance
+        { false, false, false, false }, // Is normalized?
+        { 1.0f, 1.0f, 1.0f, 1.0f }, // To float scale factor
+        1, // bcWidth
+        1, // bcHeight
+    }
 };
diff --git a/src/gallium/drivers/swr/rasterizer/common/formats.h b/src/gallium/drivers/swr/rasterizer/common/formats.h
index 117cf3e..1f5fe19 100644
--- a/src/gallium/drivers/swr/rasterizer/common/formats.h
+++ b/src/gallium/drivers/swr/rasterizer/common/formats.h
@@ -216,6 +216,7 @@ enum SWR_FORMAT
     R8G8B8_UINT = 0x1C8,
     R8G8B8_SINT = 0x1C9,
     NUM_SWR_FORMATS = 0x1CA,
+    RAW = 0x1FF,
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -248,6 +249,11 @@ extern const SWR_FORMAT_INFO gFormatInfo[];
 /// @param format - SWR format
 INLINE const SWR_FORMAT_INFO& GetFormatInfo(SWR_FORMAT format)
 {
+    if (format == RAW)
+    {
+        format = NUM_SWR_FORMATS;
+    }
+    SWR_ASSERT(format <= NUM_SWR_FORMATS, "Invalid Surface Format: %d", format);
     return gFormatInfo[format];
 }
 




More information about the mesa-commit mailing list