Ziqing Hui : windowscodecs: Fix alpha mode of DXT3 and DXT5 image.

Alexandre Julliard julliard at winehq.org
Fri Jul 24 17:05:09 CDT 2020


Module: wine
Branch: master
Commit: 72ad4e7dc18446b83d193dc293d0e59a5adaf4a5
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=72ad4e7dc18446b83d193dc293d0e59a5adaf4a5

Author: Ziqing Hui <zhui at codeweavers.com>
Date:   Thu Jul 23 14:03:00 2020 +0800

windowscodecs: Fix alpha mode of DXT3 and DXT5 image.

Signed-off-by: Ziqing Hui <zhui at codeweavers.com>
Signed-off-by: Esme Povirk <esme at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/windowscodecs/ddsformat.c       | 15 ++++++---------
 dlls/windowscodecs/tests/ddsformat.c |  1 -
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/dlls/windowscodecs/ddsformat.c b/dlls/windowscodecs/ddsformat.c
index 447eaf4178..87cbf4df91 100644
--- a/dlls/windowscodecs/ddsformat.c
+++ b/dlls/windowscodecs/ddsformat.c
@@ -259,15 +259,12 @@ static WICDdsAlphaMode get_alpha_mode_from_fourcc(DWORD fourcc)
 {
     switch (fourcc)
     {
-    case MAKEFOURCC('D', 'X', 'T', '1'):
-    case MAKEFOURCC('D', 'X', 'T', '2'):
-    case MAKEFOURCC('D', 'X', 'T', '4'):
-        return WICDdsAlphaModePremultiplied;
-    case MAKEFOURCC('D', 'X', 'T', '3'):
-    case MAKEFOURCC('D', 'X', 'T', '5'):
-        return WICDdsAlphaModeStraight;
-    default:
-        return WICDdsAlphaModeUnknown;
+        case MAKEFOURCC('D', 'X', 'T', '1'):
+        case MAKEFOURCC('D', 'X', 'T', '2'):
+        case MAKEFOURCC('D', 'X', 'T', '4'):
+            return WICDdsAlphaModePremultiplied;
+        default:
+            return WICDdsAlphaModeUnknown;
     }
 }
 
diff --git a/dlls/windowscodecs/tests/ddsformat.c b/dlls/windowscodecs/tests/ddsformat.c
index 4d42cd3c2d..49de7e566e 100644
--- a/dlls/windowscodecs/tests/ddsformat.c
+++ b/dlls/windowscodecs/tests/ddsformat.c
@@ -650,7 +650,6 @@ static void test_dds_decoder_image_parameters(void)
                "Test %u: Expected DxgiFormat %#x, got %#x\n", i, test_data[i].expected_parameters.DxgiFormat, parameters.DxgiFormat);
             ok(parameters.Dimension == test_data[i].expected_parameters.Dimension,
                "Test %u: Expected Dimension %#x, got %#x\n", i, test_data[i].expected_parameters.Dimension, parameters.Dimension);
-            todo_wine_if(test_data[i].data == test_dds_dxt5 || test_data[i].data == test_dds_dxt3)
             ok(parameters.AlphaMode == test_data[i].expected_parameters.AlphaMode,
                "Test %u: Expected AlphaMode %#x, got %#x\n", i, test_data[i].expected_parameters.AlphaMode, parameters.AlphaMode);
         }




More information about the wine-cvs mailing list