mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
tests/shader_runner: Query for GLSL target support instead of checking VKD3D_SHADER_UNSUPPORTED_GLSL.
This commit is contained in:
committed by
Henri Verbeet
parent
828e5f1249
commit
42f910e56e
Notes:
Henri Verbeet
2024-09-30 21:04:44 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1115
@ -162,6 +162,21 @@ static bool check_egl_client_extension(const char *extension)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool check_glsl_support(void)
|
||||||
|
{
|
||||||
|
const enum vkd3d_shader_target_type *target_types;
|
||||||
|
unsigned int count, i;
|
||||||
|
|
||||||
|
target_types = vkd3d_shader_get_supported_target_types(VKD3D_SHADER_SOURCE_DXBC_TPF, &count);
|
||||||
|
for (i = 0; i < count; ++i)
|
||||||
|
{
|
||||||
|
if (target_types[i] == VKD3D_SHADER_TARGET_GLSL)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct format_info *get_format_info(enum DXGI_FORMAT format, bool is_shadow)
|
static const struct format_info *get_format_info(enum DXGI_FORMAT format, bool is_shadow)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
@ -242,14 +257,12 @@ static bool gl_runner_init(struct gl_runner *runner, enum shading_language langu
|
|||||||
DXGI_FORMAT_R32G32B32A32_SINT,
|
DXGI_FORMAT_R32G32B32A32_SINT,
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef VKD3D_SHADER_UNSUPPORTED_GLSL
|
if (language == GLSL && !check_glsl_support())
|
||||||
if (language == GLSL)
|
|
||||||
{
|
{
|
||||||
skip("GLSL support is not enabled. If this is unintentional, "
|
skip("GLSL support is not enabled. If this is unintentional, "
|
||||||
"add -DVKD3D_SHADER_UNSUPPORTED_GLSL to CPPFLAGS.\n");
|
"add -DVKD3D_SHADER_UNSUPPORTED_GLSL to CPPFLAGS.\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
memset(runner, 0, sizeof(*runner));
|
memset(runner, 0, sizeof(*runner));
|
||||||
runner->language = language;
|
runner->language = language;
|
||||||
|
Reference in New Issue
Block a user