From 759e01bd649ed60e1fd4f801b23d37a0a915fbae Mon Sep 17 00:00:00 2001 From: Sam Lantinga 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 25572ee001..0b85cfd3b8 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 &&