haasn / libplacebo

Official mirror of libplacebo
http://libplacebo.org/
GNU Lesser General Public License v2.1
557 stars 69 forks source link

MSYS2 - Test fails on vulkan.c #133

Closed Chipcraft closed 2 years ago

Chipcraft commented 2 years ago

meson Build -Dtests=true

The Meson build system
Version: 0.63.0
Source dir: D:/msys64/home/Chipcraft/libplacebo
Build dir: D:/msys64/home/Chipcraft/libplacebo/Build
Build type: native build
Project name: libplacebo
Project version: 5.210.0
C compiler for the host machine: cc (gcc 12.1.0 "cc (Rev3, Built by MSYS2 project) 12.1.0")
C linker for the host machine: cc ld.bfd 2.38
C++ compiler for the host machine: c++ (gcc 12.1.0 "c++ (Rev3, Built by MSYS2 project) 12.1.0")
C++ linker for the host machine: c++ ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wincompatible-pointer-types: YES
Compiler for C supports link arguments -Wl,--exclude-libs=ALL: YES
Program python3 found: YES (D:/msys64/mingw64/bin/python.exe)
Library m found: YES
Found pkg-config: D:\msys64\mingw64\bin/pkg-config.EXE (0.29.2)
Run-time dependency vulkan found: YES 1.3.211
Run-time dependency epoxy found: YES 1.5.10
Run-time dependency shaderc found: YES 2022.1.1
Run-time dependency spirv-cross-c-shared found: YES 0.44.0
Library version found: YES
Check usable header "d3d11_4.h" : YES
Check usable header "dxgi1_6.h" : YES
Found CMake: D:\msys64\mingw64\bin/cmake.EXE (3.23.2)
Run-time dependency libunwind found: NO (tried pkgconfig and cmake)
Has header "execinfo.h" : NO
Message: Skipping `glslang` because `shaderc` is available
Run-time dependency lcms2 found: YES 2.13
Configuring config.h using configuration
Configuring config_internal.h using configuration
Run-time dependency dav1d found: NO (tried pkgconfig and cmake)
Run-time dependency libavutil found: NO (tried pkgconfig and cmake)
Run-time dependency libavcodec found: NO (tried pkgconfig and cmake)
Run-time dependency libavformat found: NO (tried pkgconfig and cmake)
Configuring include_colorspace_h.c using configuration
Configuring include_common_h.c using configuration
Configuring include_dispatch_h.c using configuration
Configuring include_dither_h.c using configuration
Configuring include_dummy_h.c using configuration
Configuring include_filters_h.c using configuration
Configuring include_gpu_h.c using configuration
Configuring include_log_h.c using configuration
Configuring include_renderer_h.c using configuration
Configuring include_shaders_colorspace_h.c using configuration
Configuring include_shaders_custom_h.c using configuration
Configuring include_shaders_film_grain_h.c using configuration
Configuring include_shaders_icc_h.c using configuration
Configuring include_shaders_lut_h.c using configuration
Configuring include_shaders_sampling_h.c using configuration
Configuring include_shaders_h.c using configuration
Configuring include_swapchain_h.c using configuration
Configuring include_tone_mapping_h.c using configuration
Configuring include_utils_frame_queue_h.c using configuration
Configuring include_utils_upload_h.c using configuration
Configuring include_vulkan_h.c using configuration
Configuring include_opengl_h.c using configuration
Configuring include_d3d11_h.c using configuration
Run-time dependency glfw3 found: NO (tried pkgconfig and cmake)
sdl2-config found: NO
Run-time dependency sdl2 found: NO (tried pkgconfig and config-tool)
Run-time dependency sdl2_image found: NO (tried pkgconfig and cmake)
Run-time dependency threads found: YES
Run-time dependency libavcodec found: NO (tried pkgconfig and cmake)
Run-time dependency libavformat found: NO (tried pkgconfig and cmake)
Run-time dependency libavutil found: NO (tried pkgconfig and cmake)
Has header "nuklear.h" : YES
Configuring config_demos.h using configuration
demos/meson.build:97: WARNING: Demos enabled but no supported combination of windowing system and graphical APIs was found. Demo programs require either GLFW or SDL and either Vulkan or OpenGL to function.
Build targets in project: 41

libplacebo 5.210.0

  Components
    lcms   : YES
    glslang: NO
    shaderc: YES
    vulkan : YES
    opengl : YES
    d3d11  : YES

  User defined options
    tests  : true

Found ninja-1.11.0 at D:\msys64\mingw64\bin/ninja.EXE

ninja -CBuild test

ninja: Entering directory `Build'
[1/136] Compiling C object src/test.include.common_h.exe.p/meson-generated_.._include_common_h.c.obj
[2/136] Compiling C object src/test.include.dither_h.exe.p/meson-generated_.._include_dither_h.c.obj
[3/136] Compiling C object src/test.include.colorspace_h.exe.p/meson-generated_.._include_colorspace_h.c.obj
[4/136] Compiling C object src/test.include.filters_h.exe.p/meson-generated_.._include_filters_h.c.obj
[5/136] Compiling C object src/test.include.dispatch_h.exe.p/meson-generated_.._include_dispatch_h.c.obj
[6/136] Compiling C object src/test.include.log_h.exe.p/meson-generated_.._include_log_h.c.obj
[7/136] Compiling C object src/test.include.dummy_h.exe.p/meson-generated_.._include_dummy_h.c.obj
[8/136] Compiling C object src/test.include.gpu_h.exe.p/meson-generated_.._include_gpu_h.c.obj
[9/136] Compiling C object src/test.include.shaders_colorspace_h.exe.p/meson-generated_.._include_shaders_colorspace_h.c.obj
[10/136] Compiling C object src/test.include.shaders_film_grain_h.exe.p/meson-generated_.._include_shaders_film_grain_h.c.obj
[11/136] Compiling C object src/test.include.shaders_icc_h.exe.p/meson-generated_.._include_shaders_icc_h.c.obj
[12/136] Compiling C object src/test.include.renderer_h.exe.p/meson-generated_.._include_renderer_h.c.obj
[13/136] Compiling C object src/test.include.shaders_custom_h.exe.p/meson-generated_.._include_shaders_custom_h.c.obj
[14/136] Compiling C object src/test.include.shaders_lut_h.exe.p/meson-generated_.._include_shaders_lut_h.c.obj
[15/136] Compiling C object src/test.include.shaders_sampling_h.exe.p/meson-generated_.._include_shaders_sampling_h.c.obj
[16/136] Compiling C object src/test.include.tone_mapping_h.exe.p/meson-generated_.._include_tone_mapping_h.c.obj
[17/136] Compiling C object src/test.include.swapchain_h.exe.p/meson-generated_.._include_swapchain_h.c.obj
[18/136] Compiling C object src/test.include.shaders_h.exe.p/meson-generated_.._include_shaders_h.c.obj
[19/136] Compiling C object src/test.include.opengl_h.exe.p/meson-generated_.._include_opengl_h.c.obj
[20/136] Compiling C object src/test.include.utils_frame_queue_h.exe.p/meson-generated_.._include_utils_frame_queue_h.c.obj
[21/136] Compiling C object src/test.include.utils_upload_h.exe.p/meson-generated_.._include_utils_upload_h.c.obj
[22/136] Compiling C object src/test.include.vulkan_h.exe.p/meson-generated_.._include_vulkan_h.c.obj
[23/136] Generating src/vulkan boilerplate with a custom command
Found vk.xml: D:/msys64/mingw64/share/vulkan/registry/vk.xml
[24/136] Generating src/version.h with a custom command
[25/136] Compiling C object demos/video-filtering.exe.p/video-filtering.c.obj
[26/136] Compiling C object src/test.include.d3d11_h.exe.p/meson-generated_.._include_d3d11_h.c.obj
[27/136] Compiling C object src/test.lut.c.exe.p/tests_lut.c.obj
[28/136] Compiling C object src/test.opengl_surfaceless.c.exe.p/tests_opengl_surfaceless.c.obj
[29/136] Compiling C object src/test.filters.c.exe.p/tests_filters.c.obj
[30/136] Compiling C object src/test.tone_mapping.c.exe.p/tests_tone_mapping.c.obj
[31/136] Compiling C object src/test.icc.c.exe.p/tests_icc.c.obj
[32/136] Compiling C object src/test.dither.c.exe.p/tests_dither.c.obj
[33/136] Compiling C object src/test.utils.c.exe.p/tests_utils.c.obj
[34/136] Compiling C object src/test.common.c.exe.p/tests_common.c.obj
[35/136] Compiling C object src/test.string.c.exe.p/tests_string.c.obj
[36/136] Compiling C object src/test.dummy.c.exe.p/tests_dummy.c.obj
[37/136] Compiling C object src/test.colorspace.c.exe.p/tests_colorspace.c.obj
[38/136] Compiling C object src/libplacebo-210.dll.p/glsl_utils.c.obj
[39/136] Compiling C object src/libplacebo-210.dll.p/shaders_film_grain.c.obj
[40/136] Compiling C object src/libplacebo-210.dll.p/glsl_spirv.c.obj
[41/136] Compiling C object src/libplacebo-210.dll.p/log.c.obj
[42/136] Compiling C object src/libplacebo-210.dll.p/swapchain.c.obj
[43/136] Compiling C object src/libplacebo-210.dll.p/siphash.c.obj
[44/136] Compiling C object src/libplacebo-210.dll.p/dither.c.obj
[45/136] Compiling C object src/libplacebo-210.dll.p/pl_string.c.obj
[46/136] Compiling C object src/libplacebo-210.dll.p/glsl_spirv_shaderc.c.obj
[47/136] Compiling C object src/libplacebo-210.dll.p/dummy.c.obj
[48/136] Compiling C object src/libplacebo-210.dll.p/utils_upload.c.obj
[49/136] Compiling C object src/libplacebo-210.dll.p/common.c.obj
[50/136] Compiling C object src/libplacebo-210.dll.p/filters.c.obj
[51/136] Compiling C object src/libplacebo-210.dll.p/vulkan_utils.c.obj
[52/136] Compiling C object src/libplacebo-210.dll.p/pl_alloc.c.obj
[53/136] Compiling C object src/libplacebo-210.dll.p/vulkan_formats.c.obj
[54/136] Compiling C object src/libplacebo-210.dll.p/shaders_film_grain_h274.c.obj
[55/136] Compiling C object src/libplacebo-210.dll.p/shaders_lut.c.obj
[56/136] Compiling C object src/libplacebo-210.dll.p/format.c.obj
[57/136] Compiling C object src/libplacebo-210.dll.p/shaders_icc.c.obj
[58/136] Compiling C object src/libplacebo-210.dll.p/meson-generated_.._utils_gen.c.obj
[59/136] Compiling C object src/libplacebo-210.dll.p/opengl_utils.c.obj
[60/136] Compiling C object src/libplacebo-210.dll.p/tone_mapping.c.obj
[61/136] Compiling C object src/libplacebo-210.dll.p/vulkan_gpu_buf.c.obj
[62/136] Compiling C object src/libplacebo-210.dll.p/opengl_context.c.obj
[63/136] Compiling C object src/libplacebo-210.dll.p/opengl_swapchain.c.obj
[64/136] Compiling C object src/libplacebo-210.dll.p/opengl_formats.c.obj
[65/136] Compiling C object src/libplacebo-210.dll.p/colorspace.c.obj
[66/136] Compiling C object src/libplacebo-210.dll.p/vulkan_command.c.obj
[67/136] Compiling C object src/libplacebo-210.dll.p/vulkan_gpu.c.obj
[68/136] Compiling C object src/libplacebo-210.dll.p/shaders_film_grain_av1.c.obj
[69/136] Compiling C object src/libplacebo-210.dll.p/vulkan_swapchain.c.obj
[70/136] Compiling C object src/libplacebo-210.dll.p/vulkan_gpu_pass.c.obj
[71/136] Compiling C object src/libplacebo-210.dll.p/opengl_gpu.c.obj
[72/136] Compiling C object src/libplacebo-210.dll.p/shaders_sampling.c.obj
[73/136] Compiling C object src/libplacebo-210.dll.p/utils_frame_queue.c.obj
[74/136] Compiling C object src/libplacebo-210.dll.p/opengl_gpu_pass.c.obj
[75/136] Compiling C object src/libplacebo-210.dll.p/vulkan_malloc.c.obj
[76/136] Compiling C object src/libplacebo-210.dll.p/vulkan_gpu_tex.c.obj
[77/136] Compiling C object src/libplacebo-210.dll.p/opengl_gpu_tex.c.obj
[78/136] Compiling C object src/test.vulkan.c.exe.p/tests_vulkan.c.obj
[79/136] Compiling C object src/libplacebo-210.dll.p/d3d11_formats.c.obj
[80/136] Compiling C object src/libplacebo-210.dll.p/d3d11_context.c.obj
[81/136] Compiling C object src/libplacebo-210.dll.p/shaders.c.obj
[82/136] Compiling C object src/libplacebo-210.dll.p/d3d11_gpu.c.obj
[83/136] Compiling C object src/libplacebo-210.dll.p/shaders_colorspace.c.obj
[84/136] Compiling C object src/libplacebo-210.dll.p/dispatch.c.obj
[85/136] Compiling C object src/libplacebo-210.dll.p/vulkan_context.c.obj
[86/136] Compiling C object src/test.d3d11.c.exe.p/tests_d3d11.c.obj
[87/136] Compiling C object src/libplacebo-210.dll.p/shaders_custom.c.obj
[88/136] Compiling C object src/libplacebo-210.dll.p/gpu.c.obj
[89/136] Compiling C object src/libplacebo-210.dll.p/d3d11_utils.c.obj
../src/d3d11/utils.c: In function 'pl_get_dxgi_csp_name':
../src/d3d11/utils.c:316:43: warning: case value '20' not in enumerated type 'DXGI_COLOR_SPACE_TYPE' [-Wswitch]
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: note: in definition of macro 'D3D11_DXGI_ENUM'
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: warning: case value '21' not in enumerated type 'DXGI_COLOR_SPACE_TYPE' [-Wswitch]
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: note: in definition of macro 'D3D11_DXGI_ENUM'
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: warning: case value '22' not in enumerated type 'DXGI_COLOR_SPACE_TYPE' [-Wswitch]
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: note: in definition of macro 'D3D11_DXGI_ENUM'
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: warning: case value '23' not in enumerated type 'DXGI_COLOR_SPACE_TYPE' [-Wswitch]
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: note: in definition of macro 'D3D11_DXGI_ENUM'
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: warning: case value '24' not in enumerated type 'DXGI_COLOR_SPACE_TYPE' [-Wswitch]
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: note: in definition of macro 'D3D11_DXGI_ENUM'
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
[90/136] Compiling C object src/libplacebo-210.dll.p/d3d11_gpu_buf.c.obj
[91/136] Compiling C object src/libplacebo-210.dll.p/renderer.c.obj
[92/136] Compiling C object src/libplacebo-210.dll.p/d3d11_gpu_tex.c.obj
[93/136] Compiling C object src/libplacebo-210.dll.p/d3d11_swapchain.c.obj
[94/136] Compiling C object src/libplacebo-210.dll.p/d3d11_gpu_pass.c.obj
[95/136] Linking target src/libplacebo-210.dll
[96/136] Generating symbol file src/libplacebo-210.dll.p/libplacebo-210.dll.symbols
[97/136] Linking target src/test.include.dither_h.exe
[98/136] Linking target src/test.include.colorspace_h.exe
[99/136] Linking target src/test.include.common_h.exe
[100/136] Linking target src/test.include.dispatch_h.exe
[101/136] Linking target src/test.include.gpu_h.exe
[102/136] Linking target src/test.include.dummy_h.exe
[103/136] Linking target src/test.include.filters_h.exe
[104/136] Linking target src/test.include.log_h.exe
[105/136] Linking target src/test.include.renderer_h.exe
[106/136] Linking target src/test.include.shaders_custom_h.exe
[107/136] Linking target src/test.include.shaders_colorspace_h.exe
[108/136] Linking target src/test.include.shaders_icc_h.exe
[109/136] Linking target src/test.include.shaders_film_grain_h.exe
[110/136] Linking target src/test.include.shaders_sampling_h.exe
[111/136] Linking target src/test.include.shaders_lut_h.exe
[112/136] Linking target src/test.include.shaders_h.exe
[113/136] Linking target src/test.include.opengl_h.exe
[114/136] Linking target src/test.include.utils_frame_queue_h.exe
[115/136] Linking target src/test.include.utils_upload_h.exe
[116/136] Linking target src/test.include.tone_mapping_h.exe
[117/136] Linking target src/test.include.swapchain_h.exe
[118/136] Linking target src/test.include.vulkan_h.exe
[119/136] Linking target src/test.include.d3d11_h.exe
[120/136] Linking target demos/video-filtering.exe
[121/136] Linking target src/test.dummy.c.exe
[122/136] Linking target src/test.opengl_surfaceless.c.exe
[123/136] Linking target src/test.dither.c.exe
[124/136] Linking target src/test.lut.c.exe
[125/136] Linking target src/test.utils.c.exe
[126/136] Linking target src/test.colorspace.c.exe
[127/136] Linking target src/test.filters.c.exe
[128/136] Linking target src/test.common.c.exe
[129/136] Linking target src/test.string.c.exe
[130/136] Linking target src/test.tone_mapping.c.exe
[131/136] Linking target src/test.icc.c.exe
[132/136] Linking target src/test.d3d11.c.exe
[133/136] L 1/13 colorspace.c         OK              0.44s
 2/13 common.c             OK              0.41s
 3/13 filters.c            OK              0.28s
 4/13 string.c             OK              0.25s
 5/13 tone_mapping.c       OK              0.22s
 6/13 utils.c              OK              0.19s
 7/13 icc.c                OK              0.16s
 8/13 opengl_surfaceless.c SKIP            0.11s   exit status 77
 9/13 dither.c             OK              0.38s
10/13 lut.c                OK              0.31s
11/13 dummy.c              OK              0.42s
12/13 vulkan.c             FAIL            0.95s   (exit status 3221225477 or signal 3221225349 SIGinvalid)
>>> MALLOC_PERTURB_=16 PATH=D:/msys64/home/Chipcraft/libplacebo/Build/src;D:\msys64\mingw64\bin;D:\msys64\usr\local\bin;D:\msys64\usr\bin;D:\msys64\usr\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\msys64\usr\bin\site_perl;D:\msys64\usr\bin\vendor_perl;D:\msys64\usr\bin\core_perl;D:\msys64\mingw64\bin\ D:/msys64/home/Chipcraft/libplacebo/Build/src/test.vulkan.c.exe
------------------------------------- 8< -------------------------------------
Listing only the last 100 lines from a long log.
[0.875][d] [ 21] layout (local_size_x = 16, local_size_y = 16) in;
[0.875][d] [ 22] #define frag_pos(id) (vec2(id) + vec2(0.5))
[0.875][d] [ 23] #define frag_map(id) (_out_scale_3_0 * frag_pos(id))
[0.875][d] [ 24] #define gl_FragCoord vec4(frag_pos(gl_GlobalInvocationID), 0.0, 1.0)
[0.875][d] [ 25] #define _tex_coord_1_0_map(id) (mix(mix(_p0_4_0, _p1_5_0, frag_map(id).x),      mix(_p2_6_0, _p3_7_0, frag_map(id).x), frag_map(id).y))
[0.875][d] [ 26] #define _tex_coord_1_0 (_tex_coord_1_0_map(gl_GlobalInvocationID))
[0.875][d] [ 27]
[0.875][d] [ 28] void _main_10_0() {
[0.875][d] [ 29] // pl_shader_sample_nearest
[0.875][d] [ 30] vec4 color = vec4(_const_2_0) * texture(_src_tex_0_0, _tex_coord_1_0);
[0.875][d] [ 31] // pl_shader_encode_color
[0.875][d] [ 32] {
[0.875][d] [ 33] }
[0.875][d] [ 34] // pl_shader_decode_color
[0.875][d] [ 35] {
[0.875][d] [ 36] }
[0.875][d] [ 37] ivec2 dir = ivec2(1, 1);
[0.875][d] [ 38] ivec2 pos = _base_9_0 + dir * ivec2(gl_GlobalInvocationID).xy;
[0.875][d] [ 39] vec2 fpos = _out_scale_3_0 * vec2(gl_GlobalInvocationID);
[0.875][d] [ 40] if (fpos.x < 1.0 && fpos.y < 1.0) {
[0.875][d] [ 41] imageStore(_out_image_8_0, pos, color);
[0.875][d] [ 42] }
[0.875][d] [ 43]
[0.875][d] [ 44] }
[0.875][d] [ 45]
[0.875][d] [ 46] void main() {
[0.875][d] [ 47] _main_10_0();
[0.875][d] [ 48] }
[0.875][d] shaderc compile status 'success' (0 errors, 0 warnings)
[0.875][d] Spent 0.000 ms translating SPIR-V
[0.875][d] Spent 0.000 ms compiling shader
[0.875][d] Spent 0.000 ms creating pipeline
[0.875][d] Pass statistics: size 1944, SPIR-V: vert 0 frag 0 comp 2112
testing pattern of color system 0
[0.875][d] compute shader source:
[0.875][d] [  1] #version 450
[0.875][d] [  2] #extension GL_ARB_compute_shader : enable
[0.875][d] [  3] #extension GL_KHR_shader_subgroup_basic : enable
[0.875][d] [  4] #extension GL_KHR_shader_subgroup_vote : enable
[0.875][d] [  5] #extension GL_KHR_shader_subgroup_arithmetic : enable
[0.875][d] [  6] #extension GL_KHR_shader_subgroup_ballot : enable
[0.875][d] [  7] #extension GL_KHR_shader_subgroup_shuffle : enable
[0.875][d] [  8] #extension GL_ARB_shader_image_load_store : enable
[0.875][d] [  9] #extension GL_ARB_uniform_buffer_object : enable
[0.875][d] [ 10] #extension GL_ARB_texture_gather : enable
[0.875][d] [ 11] layout(std430, push_constant) uniform PushC {
[0.875][d] [ 12]     layout(offset=0) vec3 _cmat_c_4_0;
[0.875][d] [ 13]     layout(offset=16) vec3 _cmat_c_6_0;
[0.875][d] [ 14]     layout(offset=32) vec2 _out_scale_7_0;
[0.875][d] [ 15]     layout(offset=40) vec2 _p0_8_0;
[0.875][d] [ 16]     layout(offset=48) vec2 _p1_9_0;
[0.875][d] [ 17]     layout(offset=56) vec2 _p2_10_0;
[0.875][d] [ 18]     layout(offset=64) vec2 _p3_11_0;
[0.875][d] [ 19]     layout(offset=72) ivec2 _base_13_0;
[0.875][d] [ 20]     layout(offset=80) mat3 _cmat_3_0;
[0.875][d] [ 21] };
[0.875][d] [ 22] layout(constant_id=0) const float _const_2_0 = 0;
[0.875][d] [ 23] layout(binding=0) uniform  sampler2D _src_tex_0_0;
[0.875][d] [ 24] layout(binding=1, rgba32f) writeonly restrict uniform image2D _out_image_12_0;
[0.875][d] [ 25] layout(std140, binding=2) uniform _UBO_14_0 {
[0.875][d] [ 26]     layout(offset=0) mat3 _cmat_5_0;
[0.875][d] [ 27] };
[0.875][d] [ 28] layout (local_size_x = 16, local_size_y = 16) in;
[testlog.txt](https://github.com/haasn/libplacebo/files/9133604/testlog.txt)

[0.875][d] [ 29] #define frag_pos(id) (vec2(id) + vec2(0.5))
[0.875][d] [ 30] #define frag_map(id) (_out_scale_7_0 * frag_pos(id))
[0.875][d] [ 31] #define gl_FragCoord vec4(frag_pos(gl_GlobalInvocationID), 0.0, 1.0)
[0.875][d] [ 32] #define _tex_coord_1_0_map(id) (mix(mix(_p0_8_0, _p1_9_0, frag_map(id).x),      mix(_p2_10_0, _p3_11_0, frag_map(id).x), frag_map(id).y))
[0.875][d] [ 33] #define _tex_coord_1_0 (_tex_coord_1_0_map(gl_GlobalInvocationID))
[0.875][d] [ 34]
[0.875][d] [ 35] void _main_15_0() {
[0.875][d] [ 36] // pl_shader_sample_nearest
[0.875][d] [ 37] vec4 color = vec4(_const_2_0) * texture(_src_tex_0_0, _tex_coord_1_0);
[0.875][d] [ 38] // pl_shader_encode_color
[0.875][d] [ 39] {
[0.875][d] [ 40] color.rgb = _cmat_3_0 * color.rgb + _cmat_c_4_0;
[0.875][d] [ 41] }
[0.875][d] [ 42] // pl_shader_decode_color
[0.875][d] [ 43] {
[0.875][d] [ 44] color.rgb = _cmat_5_0 * color.rgb + _cmat_c_6_0;
[0.875][d] [ 45] }
[0.875][d] [ 46] ivec2 dir = ivec2(1, 1);
[0.875][d] [ 47] ivec2 pos = _base_13_0 + dir * ivec2(gl_GlobalInvocationID).xy;
[0.875][d] [ 48] vec2 fpos = _out_scale_7_0 * vec2(gl_GlobalInvocationID);
[0.875][d] [ 49] if (fpos.x < 1.0 && fpos.y < 1.0) {
[0.875][d] [ 50] imageStore(_out_image_12_0, pos, color);
[0.875][d] [ 51] }
[0.875][d] [ 52]
[0.875][d] [ 53] }
[0.875][d] [ 54]
[0.875][d] [ 55] void main() {
[0.875][d] [ 56] _main_15_0();
[0.875][d] [ 57] }
[0.890][d] shaderc compile status 'success' (0 errors, 0 warnings)
[0.890][i] Spent 15.000 ms translating SPIR-V
[0.890][d] Spent 0.000 ms compiling shader
[0.890][d] Spent 0.000 ms creating pipeline
[0.890][d] Pass statistics: size 2040, SPIR-V: vert 0 frag 0 comp 3028
[0.890][d] Allocating 262144 memory of type 0x7 (id 2) in heap 1
stderr:
[0.000][w] API debugging requested but no debug meta layers present... ignoring
------------------------------------------------------------------------------

13/13 d3d11.c              OK             10.38s

Summary of Failures:

12/13 vulkan.c             FAIL            0.95s   (exit status 3221225477 or signal 3221225349 SIGinvalid)

Ok:                 11
Expected Fail:      0
Fail:               1
Unexpected Pass:    0
Skipped:            1
Timeout:            0

Full log written to D:/msys64/home/Chipcraft/libplacebo/Build/meson-logs/testlog.txt
inking target src/test.vulkan.c.exe
[134/136] Compiling C object demos/libnuklear.a.p/ui.c.obj
[135/136] Linking static target demos/libnuklear.a
[135/136] Running all tests.
FAILED: meson-internal__test
"D:/msys64/mingw64/bin/meson" "test" "--no-rebuild" "--print-errorlogs"
ninja: build stopped: subcommand failed.

testlog.txt

haasn commented 2 years ago

That error isn't something we should be capable of generating, possibly some sort of UB inside the driver?

Chipcraft commented 2 years ago

Tested on another system which had a AMD RX 6650 XT (vs. 6800 XT) in it, same exact issue. Compiled and used the newest headers and the loader (1.3.221), same deal. Swapped the RX 6650 XT GPU for a RTX 3080 Ti w/ 516.59 WHQL drivers and everything worked perfectly fine, regardless of the Vulkan header / loader versions.

It seems that the Adrenalin 22.5.x drivers are broken in some way, the newer 22.6.1 WHQL "Optional" driver works fine on both of the RX 6000-series RDNA2 Navi 2x GPUs.

mkdir Build && meson Build -Dtests=true

The Meson build system
Version: 0.63.0
Source dir: D:/msys64/home/Chipcraft/libplacebo
Build dir: D:/msys64/home/Chipcraft/libplacebo/Build
Build type: native build
Project name: libplacebo
Project version: 5.210.0
C compiler for the host machine: cc (gcc 12.1.0 "cc (Rev3, Built by MSYS2 project) 12.1.0")
C linker for the host machine: cc ld.bfd 2.38
C++ compiler for the host machine: c++ (gcc 12.1.0 "c++ (Rev3, Built by MSYS2 project) 12.1.0")
C++ linker for the host machine: c++ ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wincompatible-pointer-types: YES
Compiler for C supports link arguments -Wl,--exclude-libs=ALL: YES
Program python3 found: YES (D:/msys64/mingw64/bin/python.exe)
Library m found: YES
Found pkg-config: D:\msys64\mingw64\bin/pkg-config.EXE (0.29.2)
Run-time dependency vulkan found: YES 1.3.221
Run-time dependency epoxy found: YES 1.5.10
Run-time dependency shaderc found: YES 2022.1.1
Run-time dependency spirv-cross-c-shared found: YES 0.44.0
Library version found: YES
Check usable header "d3d11_4.h" : YES
Check usable header "dxgi1_6.h" : YES
Found CMake: D:\msys64\mingw64\bin/cmake.EXE (3.23.2)
Run-time dependency libunwind found: NO (tried pkgconfig and cmake)
Has header "execinfo.h" : NO
Message: Skipping `glslang` because `shaderc` is available
Run-time dependency lcms2 found: YES 2.13
Configuring config.h using configuration
Configuring config_internal.h using configuration
Run-time dependency dav1d found: NO (tried pkgconfig and cmake)
Run-time dependency libavutil found: NO (tried pkgconfig and cmake)
Run-time dependency libavcodec found: NO (tried pkgconfig and cmake)
Run-time dependency libavformat found: NO (tried pkgconfig and cmake)
Configuring include_colorspace_h.c using configuration
Configuring include_common_h.c using configuration
Configuring include_dispatch_h.c using configuration
Configuring include_dither_h.c using configuration
Configuring include_dummy_h.c using configuration
Configuring include_filters_h.c using configuration
Configuring include_gpu_h.c using configuration
Configuring include_log_h.c using configuration
Configuring include_renderer_h.c using configuration
Configuring include_shaders_colorspace_h.c using configuration
Configuring include_shaders_custom_h.c using configuration
Configuring include_shaders_film_grain_h.c using configuration
Configuring include_shaders_icc_h.c using configuration
Configuring include_shaders_lut_h.c using configuration
Configuring include_shaders_sampling_h.c using configuration
Configuring include_shaders_h.c using configuration
Configuring include_swapchain_h.c using configuration
Configuring include_tone_mapping_h.c using configuration
Configuring include_utils_frame_queue_h.c using configuration
Configuring include_utils_upload_h.c using configuration
Configuring include_vulkan_h.c using configuration
Configuring include_opengl_h.c using configuration
Configuring include_d3d11_h.c using configuration
Run-time dependency glfw3 found: NO (tried pkgconfig and cmake)
sdl2-config found: NO
Run-time dependency sdl2 found: NO (tried pkgconfig and config-tool)
Run-time dependency sdl2_image found: NO (tried pkgconfig and cmake)
Run-time dependency threads found: YES
Run-time dependency libavcodec found: NO (tried pkgconfig and cmake)
Run-time dependency libavformat found: NO (tried pkgconfig and cmake)
Run-time dependency libavutil found: NO (tried pkgconfig and cmake)
Has header "nuklear.h" : YES
Configuring config_demos.h using configuration
demos/meson.build:97: WARNING: Demos enabled but no supported combination of windowing system and graphical APIs was found. Demo programs require either GLFW or SDL and either Vulkan or OpenGL to function.
Build targets in project: 41

libplacebo 5.210.0

  Components
    lcms   : YES
    glslang: NO
    shaderc: YES
    vulkan : YES
    opengl : YES
    d3d11  : YES

  User defined options
    tests  : true

Found ninja-1.11.0 at D:\msys64\mingw64\bin/ninja.EXE

ninja -CBuild test

ninja: Entering directory `Build'
[1/136] Compiling C object src/test.include.common_h.exe.p/meson-generated_.._include_common_h.c.obj
[2/136] Compiling C object src/test.include.log_h.exe.p/meson-generated_.._include_log_h.c.obj
[3/136] Compiling C object src/test.include.filters_h.exe.p/meson-generated_.._include_filters_h.c.obj
[4/136] Compiling C object src/test.include.dispatch_h.exe.p/meson-generated_.._include_dispatch_h.c.obj
[5/136] Compiling C object src/test.include.dummy_h.exe.p/meson-generated_.._include_dummy_h.c.obj
[6/136] Compiling C object src/test.include.colorspace_h.exe.p/meson-generated_.._include_colorspace_h.c.obj
[7/136] Compiling C object src/test.include.dither_h.exe.p/meson-generated_.._include_dither_h.c.obj
[8/136] Compiling C object src/test.include.gpu_h.exe.p/meson-generated_.._include_gpu_h.c.obj
[9/136] Compiling C object src/test.include.shaders_colorspace_h.exe.p/meson-generated_.._include_shaders_colorspace_h.c.obj
[10/136] Compiling C object src/test.include.shaders_icc_h.exe.p/meson-generated_.._include_shaders_icc_h.c.obj
[11/136] Compiling C object src/test.include.shaders_film_grain_h.exe.p/meson-generated_.._include_shaders_film_grain_h.c.obj
[12/136] Compiling C object src/test.include.shaders_custom_h.exe.p/meson-generated_.._include_shaders_custom_h.c.obj
[13/136] Compiling C object src/test.include.shaders_lut_h.exe.p/meson-generated_.._include_shaders_lut_h.c.obj
[14/136] Compiling C object src/test.include.shaders_sampling_h.exe.p/meson-generated_.._include_shaders_sampling_h.c.obj
[15/136] Compiling C object src/test.include.renderer_h.exe.p/meson-generated_.._include_renderer_h.c.obj
[16/136] Compiling C object src/test.include.shaders_h.exe.p/meson-generated_.._include_shaders_h.c.obj
[17/136] Compiling C object src/test.include.swapchain_h.exe.p/meson-generated_.._include_swapchain_h.c.obj
[18/136] Compiling C object src/test.include.tone_mapping_h.exe.p/meson-generated_.._include_tone_mapping_h.c.obj
[19/136] Compiling C object src/test.include.opengl_h.exe.p/meson-generated_.._include_opengl_h.c.obj
[20/136] Compiling C object src/test.include.utils_upload_h.exe.p/meson-generated_.._include_utils_upload_h.c.obj
[21/136] Compiling C object src/test.include.utils_frame_queue_h.exe.p/meson-generated_.._include_utils_frame_queue_h.c.obj
[22/136] Compiling C object src/test.include.vulkan_h.exe.p/meson-generated_.._include_vulkan_h.c.obj
[23/136] Generating src/vulkan boilerplate with a custom command
Found vk.xml: D:/msys64/mingw64/share/vulkan/registry/vk.xml
[24/136] Generating src/version.h with a custom command
[25/136] Compiling C object demos/video-filtering.exe.p/video-filtering.c.obj
[26/136] Compiling C object src/test.include.d3d11_h.exe.p/meson-generated_.._include_d3d11_h.c.obj
[27/136] Compiling C object src/test.opengl_surfaceless.c.exe.p/tests_opengl_surfaceless.c.obj
[28/136] Compiling C object src/test.lut.c.exe.p/tests_lut.c.obj
[29/136] Compiling C object src/test.dither.c.exe.p/tests_dither.c.obj
[30/136] Compiling C object src/test.filters.c.exe.p/tests_filters.c.obj
[31/136] Compiling C object src/test.icc.c.exe.p/tests_icc.c.obj
[32/136] Compiling C object src/test.utils.c.exe.p/tests_utils.c.obj
[33/136] Compiling C object src/test.string.c.exe.p/tests_string.c.obj
[34/136] Compiling C object src/test.common.c.exe.p/tests_common.c.obj
[35/136] Compiling C object src/test.tone_mapping.c.exe.p/tests_tone_mapping.c.obj
[36/136] Compiling C object src/test.dummy.c.exe.p/tests_dummy.c.obj
[37/136] Compiling C object src/test.colorspace.c.exe.p/tests_colorspace.c.obj
[38/136] Compiling C object src/libplacebo-210.dll.p/glsl_utils.c.obj
[39/136] Compiling C object src/libplacebo-210.dll.p/glsl_spirv.c.obj
[40/136] Compiling C object src/libplacebo-210.dll.p/siphash.c.obj
[41/136] Compiling C object src/libplacebo-210.dll.p/shaders_film_grain.c.obj
[42/136] Compiling C object src/libplacebo-210.dll.p/log.c.obj
[43/136] Compiling C object src/libplacebo-210.dll.p/swapchain.c.obj
[44/136] Compiling C object src/libplacebo-210.dll.p/dither.c.obj
[45/136] Compiling C object src/libplacebo-210.dll.p/pl_string.c.obj
[46/136] Compiling C object src/libplacebo-210.dll.p/filters.c.obj
[47/136] Compiling C object src/libplacebo-210.dll.p/pl_alloc.c.obj
[48/136] Compiling C object src/libplacebo-210.dll.p/glsl_spirv_shaderc.c.obj
[49/136] Compiling C object src/libplacebo-210.dll.p/common.c.obj
[50/136] Compiling C object src/libplacebo-210.dll.p/vulkan_utils.c.obj
[51/136] Compiling C object src/libplacebo-210.dll.p/utils_upload.c.obj
[52/136] Compiling C object src/libplacebo-210.dll.p/dummy.c.obj
[53/136] Compiling C object src/libplacebo-210.dll.p/vulkan_formats.c.obj
[54/136] Compiling C object src/libplacebo-210.dll.p/shaders_film_grain_h274.c.obj
[55/136] Compiling C object src/libplacebo-210.dll.p/format.c.obj
[56/136] Compiling C object src/libplacebo-210.dll.p/shaders_lut.c.obj
[57/136] Compiling C object src/libplacebo-210.dll.p/meson-generated_.._utils_gen.c.obj
[58/136] Compiling C object src/libplacebo-210.dll.p/vulkan_gpu_buf.c.obj
[59/136] Compiling C object src/libplacebo-210.dll.p/opengl_context.c.obj
[60/136] Compiling C object src/libplacebo-210.dll.p/opengl_utils.c.obj
[61/136] Compiling C object src/libplacebo-210.dll.p/opengl_swapchain.c.obj
[62/136] Compiling C object src/libplacebo-210.dll.p/shaders_icc.c.obj
[63/136] Compiling C object src/libplacebo-210.dll.p/tone_mapping.c.obj
[64/136] Compiling C object src/libplacebo-210.dll.p/opengl_formats.c.obj
[65/136] Compiling C object src/libplacebo-210.dll.p/colorspace.c.obj
[66/136] Compiling C object src/libplacebo-210.dll.p/vulkan_command.c.obj
[67/136] Compiling C object src/libplacebo-210.dll.p/vulkan_gpu.c.obj
[68/136] Compiling C object src/libplacebo-210.dll.p/vulkan_swapchain.c.obj
[69/136] Compiling C object src/libplacebo-210.dll.p/utils_frame_queue.c.obj
[70/136] Compiling C object src/libplacebo-210.dll.p/shaders_film_grain_av1.c.obj
[71/136] Compiling C object src/libplacebo-210.dll.p/shaders_sampling.c.obj
[72/136] Compiling C object src/libplacebo-210.dll.p/opengl_gpu.c.obj
[73/136] Compiling C object src/libplacebo-210.dll.p/vulkan_malloc.c.obj
[74/136] Compiling C object src/libplacebo-210.dll.p/vulkan_gpu_pass.c.obj
[75/136] Compiling C object src/test.vulkan.c.exe.p/tests_vulkan.c.obj
[76/136] Compiling C object src/libplacebo-210.dll.p/opengl_gpu_tex.c.obj
[77/136] Compiling C object src/libplacebo-210.dll.p/opengl_gpu_pass.c.obj
[78/136] Compiling C object src/libplacebo-210.dll.p/d3d11_formats.c.obj
[79/136] Compiling C object src/libplacebo-210.dll.p/vulkan_gpu_tex.c.obj
[80/136] Compiling C object src/libplacebo-210.dll.p/shaders.c.obj
[81/136] Compiling C object src/libplacebo-210.dll.p/d3d11_context.c.obj
[82/136] Compiling C object src/libplacebo-210.dll.p/d3d11_gpu.c.obj
[83/136] Compiling C object src/libplacebo-210.dll.p/dispatch.c.obj
[84/136] Compiling C object src/libplacebo-210.dll.p/shaders_colorspace.c.obj
[85/136] Compiling C object src/test.d3d11.c.exe.p/tests_d3d11.c.obj
[86/136] Compiling C object src/libplacebo-210.dll.p/vulkan_context.c.obj
[87/136] Compiling C object src/libplacebo-210.dll.p/shaders_custom.c.obj
[88/136] Compiling C object src/libplacebo-210.dll.p/gpu.c.obj
[89/136] Compiling C object src/libplacebo-210.dll.p/d3d11_utils.c.obj
../src/d3d11/utils.c: In function 'pl_get_dxgi_csp_name':
../src/d3d11/utils.c:316:43: warning: case value '20' not in enumerated type 'DXGI_COLOR_SPACE_TYPE' [-Wswitch]
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: note: in definition of macro 'D3D11_DXGI_ENUM'
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: warning: case value '21' not in enumerated type 'DXGI_COLOR_SPACE_TYPE' [-Wswitch]
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: note: in definition of macro 'D3D11_DXGI_ENUM'
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: warning: case value '22' not in enumerated type 'DXGI_COLOR_SPACE_TYPE' [-Wswitch]
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: note: in definition of macro 'D3D11_DXGI_ENUM'
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: warning: case value '23' not in enumerated type 'DXGI_COLOR_SPACE_TYPE' [-Wswitch]
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: note: in definition of macro 'D3D11_DXGI_ENUM'
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: warning: case value '24' not in enumerated type 'DXGI_COLOR_SPACE_TYPE' [-Wswitch]
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
../src/d3d11/utils.c:316:43: note: in definition of macro 'D3D11_DXGI_ENUM'
  316 | #define D3D11_DXGI_ENUM(prefix, define) { case prefix ## define: return #define; }
      |                                           ^~~~
[90/136] Compiling C object src/libplacebo-210.dll.p/d3d11_gpu_buf.c.obj
[91/136] Compiling C object src/libplacebo-210.dll.p/renderer.c.obj
[92/136] Compiling C object src/libplacebo-210.dll.p/d3d11_swapchain.c.obj
[93/136] Compiling C object src/libplacebo-210.dll.p/d3d11_gpu_tex.c.obj
[94/136] Compiling C object src/libplacebo-210.dll.p/d3d11_gpu_pass.c.obj
[95/136] Linking target src/libplacebo-210.dll
[96/136] Generating symbol file src/libplacebo-210.dll.p/libplacebo-210.dll.symbols
[97/136] Linking target src/test.include.colorspace_h.exe
[98/136] Linking target src/test.include.common_h.exe
[99/136] Linking target src/test.include.dispatch_h.exe
[100/136] Linking target src/test.include.dummy_h.exe
[101/136] Linking target src/test.include.dither_h.exe
[102/136] Linking target src/test.include.filters_h.exe
[103/136] Linking target src/test.include.gpu_h.exe
[104/136] Linking target src/test.include.log_h.exe
[105/136] Linking target src/test.include.renderer_h.exe
[106/136] Linking target src/test.include.shaders_colorspace_h.exe
[107/136] Linking target src/test.include.shaders_custom_h.exe
[108/136] Linking target src/test.include.shaders_film_grain_h.exe
[109/136] Linking target src/test.include.shaders_sampling_h.exe
[110/136] Linking target src/test.include.shaders_lut_h.exe
[111/136] Linking target src/test.include.shaders_icc_h.exe
[112/136] Linking target src/test.include.swapchain_h.exe
[113/136] Linking target src/test.include.utils_frame_queue_h.exe
[114/136] Linking target src/test.include.shaders_h.exe
[115/136] Linking target src/test.include.tone_mapping_h.exe
[116/136] Linking target src/test.include.opengl_h.exe
[117/136] Linking target src/test.include.vulkan_h.exe
[118/136] Linking target src/test.include.utils_upload_h.exe
[119/136] Linking target src/test.include.d3d11_h.exe
[120/136] Linking target demos/video-filtering.exe
[121/136] Linking target src/test.dither.c.exe
[122/136] Linking target src/test.common.c.exe
[123/136] Linking target src/test.colorspace.c.exe
[124/136] Linking target src/test.dummy.c.exe
[125/136] Linking target src/test.filters.c.exe
[126/136] Linking target src/test.opengl_surfaceless.c.exe
[127/136] Linking target src/test.d3d11.c.exe
[128/136] Linking target src/test.lut.c.exe
[129/136] Linking target src/test.tone_mapping.c.exe
[130/136] Linking target src/test.string.c.exe
[131/136] Linking target src/test.utils.c.exe
[132/136] Linking target src/test.icc.c.exe
[133/136] L 1/13 colorspace.c         OK              0.44s
 2/13 common.c             OK              0.41s
 3/13 filters.c            OK              0.27s
 4/13 string.c             OK              0.23s
 5/13 tone_mapping.c       OK              0.20s
 6/13 utils.c              OK              0.17s
 7/13 icc.c                OK              0.14s
 8/13 opengl_surfaceless.c SKIP            0.13s   exit status 77
 9/13 dither.c             OK              0.39s
10/13 lut.c                OK              0.31s
11/13 dummy.c              OK              0.42s
12/13 vulkan.c             OK              4.45s
13/13 d3d11.c              OK              9.44s

Ok:                 12
Expected Fail:      0
Fail:               0
Unexpected Pass:    0
Skipped:            1
Timeout:            0

Full log written to D:/msys64/home/Chipcraft/libplacebo/Build/meson-logs/testlog.txt
inking target src/test.vulkan.c.exe
[134/136] Compiling C object demos/libnuklear.a.p/ui.c.obj
[135/136] Linking static target demos/libnuklear.a
[135/136] Running all tests.