浏览代码

testautomation: don't validate alpha values on XRGB formats

The results are not defined, and some renderers set 0xFF always and other renderers set the alpha to blend results, even though it won't be used when rendering.

Fixes --filter render_testBlendModes with D3D renderers
Sam Lantinga 8 月之前
父节点
当前提交
759e01bd64
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      test/testautomation_render.c

+ 6 - 1
test/testautomation_render.c

@@ -897,7 +897,12 @@ static void testBlendModeOperation(TestRenderOperation op, int mode, SDL_PixelFo
     deltaR = SDL_abs((int)actualR - expectedR);
     deltaR = SDL_abs((int)actualR - expectedR);
     deltaG = SDL_abs((int)actualG - expectedG);
     deltaG = SDL_abs((int)actualG - expectedG);
     deltaB = SDL_abs((int)actualB - expectedB);
     deltaB = SDL_abs((int)actualB - expectedB);
-    deltaA = SDL_abs((int)actualA - expectedA);
+    if (SDL_ISPIXELFORMAT_ALPHA(dst_format)) {
+        deltaA = SDL_abs((int)actualA - expectedA);
+    } else {
+        // The alpha channel is ignored in non-alpha formats, so don't validate it
+        deltaA = 0;
+    }
     SDLTest_AssertCheck(
     SDLTest_AssertCheck(
         deltaR <= MAXIMUM_ERROR &&
         deltaR <= MAXIMUM_ERROR &&
         deltaG <= MAXIMUM_ERROR &&
         deltaG <= MAXIMUM_ERROR &&