ci: Run Linux tests on Debian trixie.

So we have a more recent version of SPIRV-Tools and also don't
have to recompile Mesa to test llvmpipe. This fixes a few failing
tests, but also breaks a couple.
This commit is contained in:
Giovanni Mascellani
2025-09-23 11:58:19 +02:00
committed by Henri Verbeet
parent 3f1de27283
commit 3c8b4ce731
Notes: Henri Verbeet 2025-10-03 00:55:50 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1764
15 changed files with 119 additions and 61 deletions

View File

@@ -702,4 +702,51 @@ static inline IDxcCompiler3 *dxcompiler_create(void)
}
#endif
static inline int compare_versions(uint32_t major1, uint32_t minor1, uint32_t patch1,
uint32_t major2, uint32_t minor2, uint32_t patch2)
{
int ret;
if ((ret = vkd3d_u32_compare(major1, major2)))
return ret;
if ((ret = vkd3d_u32_compare(minor1, minor2)))
return ret;
return vkd3d_u32_compare(patch1, patch2);
}
static inline bool find_version_string(const char *str, const char *tag,
uint32_t *major, uint32_t *minor, uint32_t *patch)
{
const char *ptr;
if (!(ptr = strstr(str, tag)))
return false;
ptr += strlen(tag);
return 3 == sscanf(ptr, "%u.%u.%u", major, minor, patch);
}
static inline bool compare_version_string_lt(const char *str, const char *tag,
uint32_t major, uint32_t minor, uint32_t patch)
{
uint32_t major2, minor2, patch2;
if (!find_version_string(str, tag, &major2, &minor2, &patch2))
return false;
return compare_versions(major, minor, patch, major2, minor2, patch2) > 0;
}
static inline bool compare_version_string_ge(const char *str, const char *tag,
uint32_t major, uint32_t minor, uint32_t patch)
{
uint32_t major2, minor2, patch2;
if (!find_version_string(str, tag, &major2, &minor2, &patch2))
return false;
return compare_versions(major, minor, patch, major2, minor2, patch2) <= 0;
}
#endif