Unnormalized integer formats now all use the same path
Integer formats are: UInt32/Int32/UInt16/Int16/UInt8/Int8
The 32 bit formats required using the floating point path for precision,
while the 16 bit and 8 bit formats were going through the short integer
path. Since all formats need to be treated as Int within a 32 bit Float
in the end, this cl unifies all integer formats under the same path.
Related dEQP tests are: functional.texture.format.sized.2d.*
Bug swiftshader:76
Change-Id: Ia2e0972243290e8b1139081222a3f19ab9e65c9f
Reviewed-on: https://swiftshader-review.googlesource.com/10748
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Renderer/Surface.cpp b/src/Renderer/Surface.cpp
index 6615b4b..1a63ff9 100644
--- a/src/Renderer/Surface.cpp
+++ b/src/Renderer/Surface.cpp
@@ -2984,14 +2984,14 @@
case FORMAT_X8B8G8R8I:
case FORMAT_G8R8I:
case FORMAT_R8I:
- case FORMAT_A8B8G8R8UI:
- case FORMAT_X8B8G8R8UI:
- case FORMAT_G8R8UI:
- case FORMAT_R8UI:
case FORMAT_A16B16G16R16I:
case FORMAT_X16B16G16R16I:
case FORMAT_G16R16I:
case FORMAT_R16I:
+ case FORMAT_A32B32G32R32I:
+ case FORMAT_X32B32G32R32I:
+ case FORMAT_G32R32I:
+ case FORMAT_R32I:
return true;
default:
return false;
@@ -3002,14 +3002,14 @@
{
switch(format)
{
+ case FORMAT_A8B8G8R8UI:
+ case FORMAT_X8B8G8R8UI:
+ case FORMAT_G8R8UI:
+ case FORMAT_R8UI:
case FORMAT_A16B16G16R16UI:
case FORMAT_X16B16G16R16UI:
case FORMAT_G16R16UI:
case FORMAT_R16UI:
- case FORMAT_A32B32G32R32I:
- case FORMAT_X32B32G32R32I:
- case FORMAT_G32R32I:
- case FORMAT_R32I:
case FORMAT_A32B32G32R32UI:
case FORMAT_X32B32G32R32UI:
case FORMAT_G32R32UI: