From 759e01bd649ed60e1fd4f801b23d37a0a915fbae Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Mon, 20 Jan 2025 11:29:41 -0800
Subject: [PATCH] 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
---
test/testautomation_render.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/test/testautomation_render.c b/test/testautomation_render.c
index 25572ee001a6c..0b85cfd3b89e7 100644
--- a/test/testautomation_render.c
+++ b/test/testautomation_render.c
@@ -897,7 +897,12 @@ static void testBlendModeOperation(TestRenderOperation op, int mode, SDL_PixelFo
deltaR = SDL_abs((int)actualR - expectedR);
deltaG = SDL_abs((int)actualG - expectedG);
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(
deltaR <= MAXIMUM_ERROR &&
deltaG <= MAXIMUM_ERROR &&