tests: Fix -Wabsolute-value warnings

Signed-off-by: Joshua Ashton <joshua@froggi.es>
This commit is contained in:
Joshua Ashton 2021-02-12 17:36:47 +00:00 committed by Hans-Kristian Arntzen
parent b91568b717
commit 2e1a5e75ac
2 changed files with 15 additions and 10 deletions

View File

@ -93,19 +93,19 @@ static bool compare_uvec4(const struct uvec4* v1, const struct uvec4 *v2)
return v1->x == v2->x && v1->y == v2->y && v1->z == v2->z && v1->w == v2->w;
}
static bool compare_uint8(uint8_t a, uint8_t b, int max_diff)
static bool compare_uint8(uint8_t a, uint8_t b, unsigned int max_diff)
{
return abs(a - b) <= max_diff;
return delta_uint8(a, b) <= max_diff;
}
static bool compare_uint16(uint16_t a, uint16_t b, int max_diff)
static bool compare_uint16(uint16_t a, uint16_t b, unsigned int max_diff)
{
return abs(a - b) <= max_diff;
return delta_uint16(a, b) <= max_diff;
}
static bool compare_uint64(uint64_t a, uint64_t b, int max_diff)
static bool compare_uint64(uint64_t a, uint64_t b, unsigned int max_diff)
{
return llabs(a - b) <= max_diff;
return delta_uint64(a, b) <= max_diff;
}
static ULONG get_refcount(void *iface)

View File

@ -55,18 +55,23 @@ static inline void set_viewport(D3D12_VIEWPORT *vp, float x, float y,
vp->MaxDepth = max_depth;
}
static inline uint8_t delta_uint8 (uint8_t a, uint8_t b) { return max(a, b) - min(a, b); }
static inline uint16_t delta_uint16(uint16_t a, uint16_t b) { return max(a, b) - min(a, b); }
static inline uint32_t delta_uint32(uint32_t a, uint32_t b) { return max(a, b) - min(a, b); }
static inline uint64_t delta_uint64(uint64_t a, uint64_t b) { return max(a, b) - min(a, b); }
static inline bool compare_color(DWORD c1, DWORD c2, BYTE max_diff)
{
if (abs((c1 & 0xff) - (c2 & 0xff)) > max_diff)
if (delta_uint32(c1 & 0xff, c2 & 0xff) > max_diff)
return false;
c1 >>= 8; c2 >>= 8;
if (abs((c1 & 0xff) - (c2 & 0xff)) > max_diff)
if (delta_uint32(c1 & 0xff, c2 & 0xff) > max_diff)
return false;
c1 >>= 8; c2 >>= 8;
if (abs((c1 & 0xff) - (c2 & 0xff)) > max_diff)
if (delta_uint32(c1 & 0xff, c2 & 0xff) > max_diff)
return false;
c1 >>= 8; c2 >>= 8;
if (abs((c1 & 0xff) - (c2 & 0xff)) > max_diff)
if (delta_uint32(c1 & 0xff, c2 & 0xff) > max_diff)
return false;
return true;
}