info: Creating vulkan instance with extensions: info: VK_KHR_get_physical_device_properties2 info: VK_KHR_external_memory_capabilities info: VK_KHR_external_semaphore_capabilities info: VK_KHR_surface info: VK_KHR_xcb_surface info: Probing for vulkan devices: info: GPU 0: Intel(R) UHD Graphics 600 (Geminilake 2x6) (integrated) info: GPU 1: Intel(R) UHD Graphics 600 (Geminilake 2x6) (integrated) info: Vulkan device properties: info: Device Name: Intel(R) UHD Graphics 600 (Geminilake 2x6) info: Device ID: 8086:3185 info: Driver version: 79695875 info: API version: 1.1.102 info: Queue families supported by device: info: QF 0: flags 0x7 num 1 info: Using graphics queue (QF 0) info: Creating vulkan device with extensions: info: VK_KHR_swapchain info: VK_KHR_push_descriptor info: VK_KHR_external_memory info: VK_KHR_external_memory_fd info: VK_EXT_external_memory_dma_buf info: VK_KHR_external_semaphore info: VK_KHR_external_semaphore_fd info: Initializing SPIR-V compiler 'shaderc' info: Memory heaps supported by device: info: heap 0: flags 0x1 size 1930106880 info: Memory types supported by device: info: type 0: flags 0x7 heap 0 info: type 1: flags 0xb heap 0 debug: Minimum texel alignment: 96 info: GPU information: info: GLSL version: 450 (vulkan) info: Capabilities: 0x1 info: Limits: info: max_tex_1d_dim: 16384 info: max_tex_2d_dim: 16384 info: max_tex_3d_dim: 2048 info: max_pushc_size: 128 info: max_xfer_size: 18446744073709551615 info: max_ubo_size: 134217728 info: max_ssbo_size: 1073741824 info: max_buffer_texels: 134217728 info: min_gather_offset: -32 info: max_gather_offset: 31 info: max_shmem_size: 32768 info: max_group_threads: 1152 info: max_group_size[0]: 576 info: max_group_size[1]: 576 info: max_group_size[2]: 576 info: max_dispatch[0]: 65535 info: max_dispatch[1]: 65535 info: max_dispatch[2]: 65535 info: align_tex_xfer_stride: 128 info: align_tex_xfer_offset: 128 info: External API interop: info: UUID: F5:93:4E:01:E1:15:4B:3E:E2:35:81:15:65:6A:E5:DF info: buf export caps: 0x9 info: buf import caps: 0x9 info: tex export caps: 0x9 info: tex import caps: 0x9 info: sync export caps: 0x1 info: sync import caps: 0x0 debug: GPU texture formats: debug: NAME TYPE CAPS SIZE COMP DEPTH BITS GLSL_TYPE GLSL_FMT debug: a2bgr10 UNORM 0x1ff 4 ABGR {2 10 10 10} {2 10 10 10} vec4 rgb10_a2 debug: r8 UNORM 0x1ff 1 R {8 0 0 0 } {8 0 0 0 } float r8 debug: r8s SNORM 0x1ff 1 R {8 0 0 0 } {8 0 0 0 } float r8_snorm debug: rg8 UNORM 0x1ff 2 RG {8 8 0 0 } {8 8 0 0 } vec2 rg8 debug: rg8s SNORM 0x1ff 2 RG {8 8 0 0 } {8 8 0 0 } vec2 rg8_snorm debug: rgba8 UNORM 0x1ff 4 RGBA {8 8 8 8 } {8 8 8 8 } vec4 rgba8 debug: rgba8s SNORM 0x1ff 4 RGBA {8 8 8 8 } {8 8 8 8 } vec4 rgba8_snorm debug: abgr8 UNORM 0x1ff 4 ABGR {8 8 8 8 } {8 8 8 8 } vec4 rgba8 debug: abgr8s SNORM 0x1ff 4 ABGR {8 8 8 8 } {8 8 8 8 } vec4 rgba8_snorm debug: r16 UNORM 0x1ff 2 R {16 0 0 0 } {16 0 0 0 } float r16 debug: r16hf FLOAT 0x1ff 2 R {16 0 0 0 } {16 0 0 0 } float r16f debug: r16s SNORM 0x1ff 2 R {16 0 0 0 } {16 0 0 0 } float r16_snorm debug: rg16 UNORM 0x1ff 4 RG {16 16 0 0 } {16 16 0 0 } vec2 rg16 debug: rg16hf FLOAT 0x1ff 4 RG {16 16 0 0 } {16 16 0 0 } vec2 rg16f debug: rg16s SNORM 0x1ff 4 RG {16 16 0 0 } {16 16 0 0 } vec2 rg16_snorm debug: rgba16 UNORM 0x1ff 8 RGBA {16 16 16 16} {16 16 16 16} vec4 rgba16 debug: rgba16hf FLOAT 0x1ff 8 RGBA {16 16 16 16} {16 16 16 16} vec4 rgba16f debug: rgba16s SNORM 0x1ff 8 RGBA {16 16 16 16} {16 16 16 16} vec4 rgba16_snorm debug: r32f FLOAT 0x1ff 4 R {32 0 0 0 } {32 0 0 0 } float r32f debug: rg32f FLOAT 0x1ff 8 RG {32 32 0 0 } {32 32 0 0 } vec2 rg32f debug: rgba32f FLOAT 0x1ff 16 RGBA {32 32 32 32} {32 32 32 32} vec4 rgba32f debug: a2rgb10 UNORM 0xfd 4 ARGB {2 10 10 10} {2 10 10 10} vec4 debug: bgra8 UNORM 0xfd 4 BGRA {8 8 8 8 } {8 8 8 8 } vec4 debug: rgb16hf FLOAT 0xfd 6 RGB {16 16 16 0 } {16 16 16 0 } vec3 debug: a2bgr10u UINT 0x1eb 4 ABGR {2 10 10 10} {2 10 10 10} uvec4 rgb10_a2ui debug: r8i SINT 0x1eb 1 R {8 0 0 0 } {8 0 0 0 } int r8i debug: r8u UINT 0x1eb 1 R {8 0 0 0 } {8 0 0 0 } uint r8ui debug: rg8i SINT 0x1eb 2 RG {8 8 0 0 } {8 8 0 0 } ivec2 rg8i debug: rg8u UINT 0x1eb 2 RG {8 8 0 0 } {8 8 0 0 } uvec2 rg8ui debug: rgba8i SINT 0x1eb 4 RGBA {8 8 8 8 } {8 8 8 8 } ivec4 rgba8i debug: rgba8u UINT 0x1eb 4 RGBA {8 8 8 8 } {8 8 8 8 } uvec4 rgba8ui debug: abgr8i SINT 0x1eb 4 ABGR {8 8 8 8 } {8 8 8 8 } ivec4 rgba8i debug: abgr8u UINT 0x1eb 4 ABGR {8 8 8 8 } {8 8 8 8 } uvec4 rgba8ui debug: r16i SINT 0x1eb 2 R {16 0 0 0 } {16 0 0 0 } int r16i debug: r16u UINT 0x1eb 2 R {16 0 0 0 } {16 0 0 0 } uint r16ui debug: rg16i SINT 0x1eb 4 RG {16 16 0 0 } {16 16 0 0 } ivec2 rg16i debug: rg16u UINT 0x1eb 4 RG {16 16 0 0 } {16 16 0 0 } uvec2 rg16ui debug: rgba16i SINT 0x1eb 8 RGBA {16 16 16 16} {16 16 16 16} ivec4 rgba16i debug: rgba16u UINT 0x1eb 8 RGBA {16 16 16 16} {16 16 16 16} uvec4 rgba16ui debug: r32i SINT 0x1eb 4 R {32 0 0 0 } {32 0 0 0 } int r32i debug: r32u UINT 0x1eb 4 R {32 0 0 0 } {32 0 0 0 } uint r32ui debug: rg32i SINT 0x1eb 8 RG {32 32 0 0 } {32 32 0 0 } ivec2 rg32i debug: rg32u UINT 0x1eb 8 RG {32 32 0 0 } {32 32 0 0 } uvec2 rg32ui debug: rgba32i SINT 0x1eb 16 RGBA {32 32 32 32} {32 32 32 32} ivec4 rgba32i debug: rgba32u UINT 0x1eb 16 RGBA {32 32 32 32} {32 32 32 32} uvec4 rgba32ui debug: a1rgb5 UNORM 0xbd 2 ARGB {1 5 5 5 } {1 5 5 5 } vec4 debug: rgb565 UNORM 0xbd 2 RGB {5 6 5 0 } {5 6 5 0 } vec3 debug: bgr565 UNORM 0xbd 2 BGR {5 6 5 0 } {5 6 5 0 } vec3 debug: rgba4 UNORM 0xad 2 RGBA {4 4 4 4 } {4 4 4 4 } vec4 debug: bgra4 UNORM 0xad 2 BGRA {4 4 4 4 } {4 4 4 4 } vec4 debug: rgb8 UNORM 0xe5 3 RGB {8 8 8 0 } {8 8 8 0 } vec3 debug: rgb16 UNORM 0xe5 6 RGB {16 16 16 0 } {16 16 16 0 } vec3 debug: rgb32f FLOAT 0xe5 12 RGB {32 32 32 0 } {32 32 32 0 } vec3 debug: rgb8s SNORM 0xc5 3 RGB {8 8 8 0 } {8 8 8 0 } vec3 debug: rgb16s SNORM 0xc5 6 RGB {16 16 16 0 } {16 16 16 0 } vec3 debug: rgb8i SINT 0xc1 3 RGB {8 8 8 0 } {8 8 8 0 } ivec3 debug: rgb8u UINT 0xc1 3 RGB {8 8 8 0 } {8 8 8 0 } uvec3 debug: rgb16i SINT 0xc1 6 RGB {16 16 16 0 } {16 16 16 0 } ivec3 debug: rgb16u UINT 0xc1 6 RGB {16 16 16 0 } {16 16 16 0 } uvec3 debug: rgb32i SINT 0xc1 12 RGB {32 32 32 0 } {32 32 32 0 } ivec3 debug: rgb32u UINT 0xc1 12 RGB {32 32 32 0 } {32 32 32 0 } uvec3 debug: a2rgb10i SINT 0x40 4 ARGB {2 10 10 10} {2 10 10 10} ivec4 debug: a2rgb10s SNORM 0x40 4 ARGB {2 10 10 10} {2 10 10 10} vec4 debug: a2rgb10u UINT 0x40 4 ARGB {2 10 10 10} {2 10 10 10} uvec4 debug: a2bgr10i SINT 0x40 4 ABGR {2 10 10 10} {2 10 10 10} ivec4 debug: a2bgr10s SNORM 0x40 4 ABGR {2 10 10 10} {2 10 10 10} vec4 debug: r64df FLOAT 0x40 8 R {64 0 0 0 } {64 0 0 0 } float debug: r64i SINT 0x40 8 R {64 0 0 0 } {64 0 0 0 } int debug: r64u UINT 0x40 8 R {64 0 0 0 } {64 0 0 0 } uint debug: rg64df FLOAT 0x40 16 RG {64 64 0 0 } {64 64 0 0 } vec2 debug: rg64i SINT 0x40 16 RG {64 64 0 0 } {64 64 0 0 } ivec2 debug: rg64u UINT 0x40 16 RG {64 64 0 0 } {64 64 0 0 } uvec2 debug: rgb64df FLOAT 0x40 24 RGB {64 64 64 0 } {64 64 64 0 } vec3 debug: rgb64i SINT 0x40 24 RGB {64 64 64 0 } {64 64 64 0 } ivec3 debug: rgb64u UINT 0x40 24 RGB {64 64 64 0 } {64 64 64 0 } uvec3 debug: rgba64df FLOAT 0x40 32 RGBA {64 64 64 64} {64 64 64 64} vec4 debug: rgba64i SINT 0x40 32 RGBA {64 64 64 64} {64 64 64 64} ivec4 debug: rgba64u UINT 0x40 32 RGBA {64 64 64 64} {64 64 64 64} uvec4 debug: rg4 UNORM 0x0 1 RG {4 4 0 0 } {4 4 0 0 } debug: rgb5a1 UNORM 0x0 2 RGBA {5 5 5 1 } {5 5 5 1 } debug: bgr5a1 UNORM 0x0 2 BGRA {5 5 5 1 } {5 5 5 1 } debug: bgr8 UNORM 0x0 3 BGR {8 8 8 0 } {8 8 8 0 } debug: bgr8i SINT 0x0 3 BGR {8 8 8 0 } {8 8 8 0 } debug: bgr8u UINT 0x0 3 BGR {8 8 8 0 } {8 8 8 0 } debug: bgra8i SINT 0x0 4 BGRA {8 8 8 8 } {8 8 8 8 } debug: bgra8u UINT 0x0 4 BGRA {8 8 8 8 } {8 8 8 8 } debug: Requested image count: 4 (min 2 max 0) info: (Re)creating swapchain of size 1920x1080 info: Allocating 1433600 of imported memory from fd: 33 ................ debug: Freeing slice 942080 + 1433600 from slab with size 1433600 info: Freed slab of size 1433600 from imported fd: 39 debug: Freeing slice 2781184 + 20500 from slab with size 11108432 debug: Freeing slice 0 + 96 from slab with size 1048576 debug: Freeing slice 128 + 48 from slab with size 1048576 debug: Freeing slice 2655744 + 16384 from slab with size 10622976 debug: Freeing slice 0 + 96 from slab with size 1048576 debug: Freeing slice 128 + 64 from slab with size 1048576 info: Allocating 25067520 of imported memory from fd: 33 info: Allocating 25067520 of imported memory from fd: 33 info: (Re)creating 1920x1080x0 texture debug: Sub-allocating slice 0 + 16760852 from slab with size 44433728 debug: vertex shader source: debug: [ 1] #version 450 debug: [ 2] layout(location=0) in vec2 vert_tex_coord_1_3; debug: [ 3] layout(location=0) out vec2 _tex_coord_1_3; debug: [ 4] layout(location=1) in vec2 vert_position_9_3; debug: [ 5] void main() { debug: [ 6] _tex_coord_1_3 = vert_tex_coord_1_3; debug: [ 7] gl_Position = vec4(vert_position_9_3, 0.0, 1.0); debug: [ 8] } debug: shaderc compile status 'success' (0 errors, 0 warnings) debug: fragment shader source: debug: [ 1] #version 450 debug: [ 2] layout(location=0) in vec2 _tex_coord_1_3; debug: [ 3] layout(location=0) out vec4 out_color; debug: [ 4] layout(std430, push_constant) uniform PushC { debug: [ 5] layout(offset=0) vec2 _tex_pt_2_3; debug: [ 6] layout(offset=8) float _seed_5_3; debug: [ 7] }; debug: [ 8] layout(binding=0) uniform sampler2D _src_tex_0_3; debug: [ 9] float _permute_4_3(float x) { debug: [ 10] x = (34.0 * x + 1.0) * x; debug: [ 11] return fract(x * 1.0/289.0) * 289.0; debug: [ 12] } debug: [ 13] float _random_3_3(inout float state) { debug: [ 14] state = _permute_4_3(state); debug: [ 15] return fract(state * 1.0/41.0); debug: [ 16] } debug: [ 17] #define _RAND_7_3 (_random_3_3(_prng_6_3)) debug: [ 18] vec4 _average_8_3(vec2 pos, float range, inout float _prng_6_3) { debug: [ 19] float dist = _RAND_7_3 * range; debug: [ 20] float dir = _RAND_7_3 * 6.283185; debug: [ 21] vec2 o = dist * vec2(cos(dir), sin(dir)); debug: [ 22] vec4 sum = vec4(0.0); debug: [ 23] sum += texture(_src_tex_0_3, pos + _tex_pt_2_3 * vec2( o.x, o.y)); debug: [ 24] sum += texture(_src_tex_0_3, pos + _tex_pt_2_3 * vec2(-o.x, o.y)); debug: [ 25] sum += texture(_src_tex_0_3, pos + _tex_pt_2_3 * vec2(-o.x, -o.y)); debug: [ 26] sum += texture(_src_tex_0_3, pos + _tex_pt_2_3 * vec2( o.x, -o.y)); debug: [ 27] return 0.25 * sum; debug: [ 28] } debug: [ 29] vec4 _main_10_3() { debug: [ 30] vec4 color; debug: [ 31] // pl_shader_deband debug: [ 32] { debug: [ 33] vec2 _prng_6_3_init = fract(gl_FragCoord.xy * vec2(1.618034)); debug: [ 34] vec3 _prng_6_3_m = vec3(_prng_6_3_init, _seed_5_3) + vec3(1.0); debug: [ 35] float _prng_6_3 = _permute_4_3(_permute_4_3(_permute_4_3(_prng_6_3_m.x) + _prng_6_3_m.y) + _prng_6_3_m.z); debug: [ 36] vec2 pos = _tex_coord_1_3; debug: [ 37] vec4 avg, diff; debug: [ 38] color = texture(_src_tex_0_3, pos); debug: [ 39] avg = _average_8_3(pos, 16.000000, _prng_6_3); debug: [ 40] diff = abs(color - avg); debug: [ 41] color = mix(avg, color, bvec4(greaterThan(diff, vec4(0.004000)))); debug: [ 42] color *= vec4(1.000000); debug: [ 43] } debug: [ 44] return color; } debug: [ 45] void main() { debug: [ 46] out_color = _main_10_3(); debug: [ 47] } debug: shaderc compile status 'success' (0 errors, 0 warnings) debug: Pass statistics: size 3384, SPIR-V: vert 748 frag 2696 comp 0 debug: Sub-allocating slice 128 + 64 from slab with size 1048576 debug: Resized buffer pool of type 6 to size 1 debug: LUT method or size changed, reinitializing.. debug: Sub-allocating slice 9003008 + 12308 from slab with size 11108432 debug: Sub-allocating slice 8709504 + 1024 from slab with size 10622976 debug: Resized buffer pool of type 1 to size 1 info: (Re)creating 1920x2160x0 texture info: Allocating 177734912 memory of type 0x7 (id 0) in heap 0 debug: Sub-allocating slice 0 + 33505300 from slab with size 177734912 debug: vertex shader source: debug: [ 1] #version 450 debug: [ 2] layout(location=0) in vec2 vert_tex_coord_1_4; debug: [ 3] layout(location=0) out vec2 _tex_coord_1_4; debug: [ 4] layout(location=1) in vec2 vert_position_8_4; debug: [ 5] void main() { debug: [ 6] _tex_coord_1_4 = vert_tex_coord_1_4; debug: [ 7] gl_Position = vec4(vert_position_8_4, 0.0, 1.0); debug: [ 8] } debug: shaderc compile status 'success' (0 errors, 0 warnings) debug: fragment shader source: debug: [ 1] #version 450 debug: [ 2] layout(location=0) in vec2 _tex_coord_1_4; debug: [ 3] layout(location=0) out vec4 out_color; debug: [ 4] layout(std430, push_constant) uniform PushC { debug: [ 5] layout(offset=0) vec2 _tex_size_2_4; debug: [ 6] layout(offset=8) vec2 _tex_pt_3_4; debug: [ 7] }; debug: [ 8] layout(binding=0) uniform sampler2D _src_tex_0_4; debug: [ 9] layout(binding=1) uniform sampler2D _weights_5_4; debug: [ 10] #define _LUT_POS_6_4(x) mix(0.500000, 0.500000, (x)) debug: [ 11] #define _LUT_POS_7_4(x) mix(0.007813, 0.992188, (x)) debug: [ 12] #define _lut_4_4(pos) (texture(_weights_5_4, vec2(\ debug: [ 13] _LUT_POS_6_4((pos).x)\ debug: [ 14] ,_LUT_POS_7_4((pos).y)\ debug: [ 15] )).xyzw) debug: [ 16] vec4 _main_9_4() { debug: [ 17] // pl_shader_sample_ortho debug: [ 18] vec4 color = vec4(0.0); debug: [ 19] { debug: [ 20] vec2 pos = _tex_coord_1_4, size = _tex_size_2_4, pt = _tex_pt_3_4; debug: [ 21] vec2 dir = vec2(0.000000, 1.000000); debug: [ 22] pt *= dir; debug: [ 23] vec2 fcoord2 = fract(pos * size - vec2(0.5)); debug: [ 24] float fcoord = dot(fcoord2, dir); debug: [ 25] vec2 base = pos - fcoord * pt - pt * vec2(0.0); debug: [ 26] float weight; debug: [ 27] vec4 ws, c; debug: [ 28] // scaler samples debug: [ 29] ws = _lut_4_4(vec2(0.000000, fcoord)); debug: [ 30] weight = ws[0]; debug: [ 31] c = texture(_src_tex_0_4, base + pt * vec2(0.0)); debug: [ 32] color += vec4(weight) * c; debug: [ 33] weight = ws[1]; debug: [ 34] c = texture(_src_tex_0_4, base + pt * vec2(1.0)); debug: [ 35] color += vec4(weight) * c; debug: [ 36] color *= vec4(1.000000); debug: [ 37] } debug: [ 38] return color; } debug: [ 39] void main() { debug: [ 40] out_color = _main_9_4(); debug: [ 41] } debug: shaderc compile status 'success' (0 errors, 0 warnings) debug: Pass statistics: size 1852, SPIR-V: vert 748 frag 1308 comp 0 debug: Sub-allocating slice 256 + 64 from slab with size 1048576 debug: Resized buffer pool of type 6 to size 1 debug: LUT method or size changed, reinitializing.. debug: Sub-allocating slice 9019392 + 12308 from slab with size 11108432 debug: Sub-allocating slice 8710656 + 1024 from slab with size 10622976 debug: Resized buffer pool of type 1 to size 1 info: Allocating 1048576 memory of type 0x7 (id 0) in heap 0 debug: Sub-allocating slice 0 + 20 from slab with size 1048576 info: (Re)creating 3840x2160x0 texture debug: Sub-allocating slice 33509376 + 67010580 from slab with size 177734912 debug: Sub-allocating slice 128 + 64 from slab with size 1048576 debug: compute shader source: debug: [ 1] #version 450 debug: [ 2] #extension GL_ARB_compute_shader : enable debug: [ 3] layout (local_size_x = 8, local_size_y = 8) in; debug: [ 4] layout(std430, push_constant) uniform PushC { debug: [ 5] layout(offset=0) vec2 _tex_pt_2_1; debug: [ 6] layout(offset=8) float _seed_5_1; debug: [ 7] layout(offset=16) vec2 _tex_size_2_2; debug: [ 8] layout(offset=24) vec2 _tex_pt_3_2; debug: [ 9] layout(offset=32) vec3 _cmat_m_3_0; debug: [ 10] layout(offset=48) vec3 _luma_coeffs_5_0; debug: [ 11] layout(offset=64) vec2 _out_scale_8_0; debug: [ 12] layout(offset=72) vec2 _p0_9_0; debug: [ 13] layout(offset=80) vec2 _p1_10_0; debug: [ 14] layout(offset=88) vec2 _p2_11_0; debug: [ 15] layout(offset=96) vec2 _p3_12_0; debug: [ 16] layout(offset=104) vec2 _p0_13_0; debug: [ 17] layout(offset=112) vec2 _p1_14_0; debug: [ 18] layout(offset=120) vec2 _p2_15_0; debug: [ 19] }; debug: [ 20] layout(binding=0) uniform sampler2D _src_tex_0_1; debug: [ 21] layout(binding=1) uniform sampler2D _src_tex_0_2; debug: [ 22] layout(binding=2) uniform sampler2D _weights_5_2; debug: [ 23] layout(std430, binding=3) buffer _PeakDetect_4_0 { debug: [ 24] layout(offset=0) vec2 average; debug: [ 25] layout(offset=8) int frame_sum; debug: [ 26] layout(offset=12) int frame_max; debug: [ 27] layout(offset=16) uint counter; debug: [ 28] }; debug: [ 29] layout(binding=4, rgba16f) writeonly uniform image2D _out_image_17_0; debug: [ 30] layout(std140, binding=5) uniform _UBO_19_0 { debug: [ 31] layout(offset=0) mat3 _cmat_2_0; debug: [ 32] layout(offset=48) vec2 _p3_16_0; debug: [ 33] layout(offset=56) ivec2 _base_18_0; debug: [ 34] }; debug: [ 35] #define frag_pos(id) (vec2(id) + vec2(0.5)) debug: [ 36] #define frag_map(id) (_out_scale_8_0 * frag_pos(id)) debug: [ 37] #define gl_FragCoord vec4(frag_pos(gl_GlobalInvocationID), 0.0, 1.0) debug: [ 38] #define _tex_coord_1_1_map(id) (mix(mix(_p0_9_0, _p1_10_0, frag_map(id).x), mix(_p2_11_0, _p3_12_0, frag_map(id).x), frag_map(id).y)) debug: [ 39] #define _tex_coord_1_1 (_tex_coord_1_1_map(gl_GlobalInvocationID)) debug: [ 40] #define _tex_coord_1_2_map(id) (mix(mix(_p0_13_0, _p1_14_0, frag_map(id).x), mix(_p2_15_0, _p3_16_0, frag_map(id).x), frag_map(id).y)) debug: [ 41] #define _tex_coord_1_2 (_tex_coord_1_2_map(gl_GlobalInvocationID)) debug: [ 42] float _permute_4_1(float x) { debug: [ 43] x = (34.0 * x + 1.0) * x; debug: [ 44] return fract(x * 1.0/289.0) * 289.0; debug: [ 45] } debug: [ 46] float _random_3_1(inout float state) { debug: [ 47] state = _permute_4_1(state); debug: [ 48] return fract(state * 1.0/41.0); debug: [ 49] } debug: [ 50] #define _RAND_7_1 (_random_3_1(_prng_6_1)) debug: [ 51] vec4 _average_8_1(vec2 pos, float range, inout float _prng_6_1) { debug: [ 52] float dist = _RAND_7_1 * range; debug: [ 53] float dir = _RAND_7_1 * 6.283185; debug: [ 54] vec2 o = dist * vec2(cos(dir), sin(dir)); debug: [ 55] vec4 sum = vec4(0.0); debug: [ 56] sum += texture(_src_tex_0_1, pos + _tex_pt_2_1 * vec2( o.x, o.y)); debug: [ 57] sum += texture(_src_tex_0_1, pos + _tex_pt_2_1 * vec2(-o.x, o.y)); debug: [ 58] sum += texture(_src_tex_0_1, pos + _tex_pt_2_1 * vec2(-o.x, -o.y)); debug: [ 59] sum += texture(_src_tex_0_1, pos + _tex_pt_2_1 * vec2( o.x, -o.y)); debug: [ 60] return 0.25 * sum; debug: [ 61] } debug: [ 62] vec4 _sub_0_0() { debug: [ 63] vec4 color; debug: [ 64] // pl_shader_deband debug: [ 65] { debug: [ 66] vec2 _prng_6_1_init = fract(gl_FragCoord.xy * vec2(1.618034)); debug: [ 67] vec3 _prng_6_1_m = vec3(_prng_6_1_init, _seed_5_1) + vec3(1.0); debug: [ 68] float _prng_6_1 = _permute_4_1(_permute_4_1(_permute_4_1(_prng_6_1_m.x) + _prng_6_1_m.y) + _prng_6_1_m.z); debug: [ 69] vec2 pos = _tex_coord_1_1; debug: [ 70] vec4 avg, diff; debug: [ 71] color = texture(_src_tex_0_1, pos); debug: [ 72] avg = _average_8_1(pos, 16.000000, _prng_6_1); debug: [ 73] diff = abs(color - avg); debug: [ 74] color = mix(avg, color, bvec4(greaterThan(diff, vec4(0.004000)))); debug: [ 75] color *= vec4(1.000000); debug: [ 76] } debug: [ 77] return color; } debug: [ 78] #define _LUT_POS_6_2(x) mix(0.500000, 0.500000, (x)) debug: [ 79] #define _LUT_POS_7_2(x) mix(0.007813, 0.992188, (x)) debug: [ 80] #define _lut_4_2(pos) (texture(_weights_5_2, vec2(\ debug: [ 81] _LUT_POS_6_2((pos).x)\ debug: [ 82] ,_LUT_POS_7_2((pos).y)\ debug: [ 83] )).xyzw) debug: [ 84] vec4 _sub_1_0() { debug: [ 85] // pl_shader_sample_ortho debug: [ 86] vec4 color = vec4(0.0); debug: [ 87] { debug: [ 88] vec2 pos = _tex_coord_1_2, size = _tex_size_2_2, pt = _tex_pt_3_2; debug: [ 89] vec2 dir = vec2(1.000000, 0.000000); debug: [ 90] pt *= dir; debug: [ 91] vec2 fcoord2 = fract(pos * size - vec2(0.5)); debug: [ 92] float fcoord = dot(fcoord2, dir); debug: [ 93] vec2 base = pos - fcoord * pt - pt * vec2(0.0); debug: [ 94] float weight; debug: [ 95] vec4 ws, c; debug: [ 96] // scaler samples debug: [ 97] ws = _lut_4_2(vec2(0.000000, fcoord)); debug: [ 98] weight = ws[0]; debug: [ 99] c = texture(_src_tex_0_2, base + pt * vec2(0.0)); debug: [100] color += vec4(weight) * c; debug: [101] weight = ws[1]; debug: [102] c = texture(_src_tex_0_2, base + pt * vec2(1.0)); debug: [103] color += vec4(weight) * c; debug: [104] color *= vec4(1.000000); debug: [105] } debug: [106] return color; } debug: [107] shared int _wg_sum_6_0; debug: [108] shared int _wg_max_7_0; debug: [109] void _main_20_0() { debug: [110] vec4 color = vec4(0.0, 0.5, 0.5, 1.0); debug: [111] // pass_read_image debug: [112] { debug: [113] vec4 tmp; debug: [114] tmp = _sub_0_0(); debug: [115] color[0] = tmp[0]; debug: [116] tmp = _sub_1_0(); debug: [117] color[1] = tmp[0]; debug: [118] color[2] = tmp[1]; debug: [119] // pl_shader_decode_color debug: [120] { debug: [121] color.rgb = _cmat_2_0 * color.rgb + _cmat_m_3_0; debug: [122] }// pl_shader_detect_peak debug: [123] { debug: [124] vec4 color_orig = color; debug: [125] // pl_shader_linearize debug: [126] color.rgb = max(color.rgb, 0.0); debug: [127] color.rgb = mix(vec3(4.0) * color.rgb * color.rgb, debug: [128] exp((color.rgb - vec3(0.559911)) * vec3(1.0/0.178833)) debug: [129] + vec3(0.284669), debug: [130] bvec3(lessThan(vec3(0.5), color.rgb))); debug: [131] // pl_shader_ootf debug: [132] color.rgb = max(color.rgb, 0.0); debug: [133] color.rgb *= vec3(0.506970 * pow(dot(_luma_coeffs_5_0, color.rgb), 0.200000)); debug: [134] _wg_sum_6_0 = 0; _wg_max_7_0 = 0; debug: [135] barrier(); debug: [136] float sig_max = max(max(color.r, color.g), color.b); debug: [137] float sig_log = log(max(sig_max, 0.001000)); debug: [138] atomicAdd(_wg_sum_6_0, int(sig_log * 400.000000)); debug: [139] atomicMax(_wg_max_7_0, int(sig_max * 10000.000000)); debug: [140] memoryBarrierShared(); debug: [141] barrier(); debug: [142] color = color_orig; debug: [143] } debug: [144] } debug: [145] // pl_shader_linearize debug: [146] color.rgb = max(color.rgb, 0.0); debug: [147] color.rgb = mix(vec3(4.0) * color.rgb * color.rgb, debug: [148] exp((color.rgb - vec3(0.559911)) * vec3(1.0/0.178833)) debug: [149] + vec3(0.284669), debug: [150] bvec3(lessThan(vec3(0.5), color.rgb))); debug: [151] ivec2 dir = ivec2(1, 1); debug: [152] ivec2 pos = _base_18_0 + dir * ivec2(gl_GlobalInvocationID); debug: [153] vec2 fpos = _out_scale_8_0 * vec2(gl_GlobalInvocationID); debug: [154] if (max(fpos.x, fpos.y) < 1.0) { debug: [155] imageStore(_out_image_17_0, pos, color); debug: [156] } debug: [157] if (gl_LocalInvocationIndex == 0) { debug: [158] int wg_avg = _wg_sum_6_0 / int(gl_WorkGroupSize.x * gl_WorkGroupSize.y); debug: [159] atomicAdd(frame_sum, wg_avg); debug: [160] atomicMax(frame_max, _wg_max_7_0); debug: [161] memoryBarrierBuffer(); debug: [162] barrier(); debug: [163] uint num_wg = gl_NumWorkGroups.x * gl_NumWorkGroups.y; debug: [164] if (atomicAdd(counter, 1) == num_wg - 1) { debug: [165] vec2 cur = vec2(float(frame_sum) / float(num_wg), frame_max); debug: [166] cur *= vec2(1.0 / 400.000000, 1.0 / 10000.000000); debug: [167] cur.x = exp(cur.x); debug: [168] if (average.y == 0.0) debug: [169] average = cur; debug: [170] average += 0.009950 * (cur - average); debug: [171] float delta = abs(log(cur.x / average.x)); debug: [172] average = mix(average, cur, smoothstep(1.266422, 2.302585, delta)); debug: [173] frame_sum = 0; debug: [174] frame_max = 0; debug: [175] counter = 0; debug: [176] memoryBarrierBuffer(); debug: [177] } debug: [178] } debug: [179] } debug: [180] void main() { debug: [181] _main_20_0(); debug: [182] } debug: shaderc compile status 'success' (0 errors, 0 warnings) debug: Pass statistics: size 4204, SPIR-V: vert 0 frag 0 comp 8824 debug: LUT method or size changed, reinitializing.. debug: Sub-allocating slice 9035776 + 12308 from slab with size 11108432 debug: Sub-allocating slice 8711808 + 1024 from slab with size 10622976 debug: Resized buffer pool of type 1 to size 1 info: (Re)creating 3840x1080x0 texture debug: Sub-allocating slice 100524032 + 33521684 from slab with size 177734912 debug: vertex shader source: debug: [ 1] #version 450 debug: [ 2] layout(location=0) in vec2 vert_tex_coord_1_6; debug: [ 3] layout(location=0) out vec2 _tex_coord_1_6; debug: [ 4] layout(location=1) in vec2 vert_position_8_6; debug: [ 5] void main() { debug: [ 6] _tex_coord_1_6 = vert_tex_coord_1_6; debug: [ 7] gl_Position = vec4(vert_position_8_6, 0.0, 1.0); debug: [ 8] } debug: shaderc compile status 'success' (0 errors, 0 warnings) debug: fragment shader source: debug: [ 1] #version 450 debug: [ 2] layout(location=0) in vec2 _tex_coord_1_6; debug: [ 3] layout(location=0) out vec4 out_color; debug: [ 4] layout(std430, push_constant) uniform PushC { debug: [ 5] layout(offset=0) vec2 _tex_size_2_6; debug: [ 6] layout(offset=8) vec2 _tex_pt_3_6; debug: [ 7] }; debug: [ 8] layout(binding=0) uniform sampler2D _src_tex_0_6; debug: [ 9] layout(binding=1) uniform sampler2D _weights_5_6; debug: [ 10] #define _LUT_POS_6_6(x) mix(0.500000, 0.500000, (x)) debug: [ 11] #define _LUT_POS_7_6(x) mix(0.007813, 0.992188, (x)) debug: [ 12] #define _lut_4_6(pos) (texture(_weights_5_6, vec2(\ debug: [ 13] _LUT_POS_6_6((pos).x)\ debug: [ 14] ,_LUT_POS_7_6((pos).y)\ debug: [ 15] )).xyzw) debug: [ 16] vec4 _main_9_6() { debug: [ 17] // pl_shader_sample_ortho debug: [ 18] vec4 color = vec4(0.0); debug: [ 19] { debug: [ 20] vec2 pos = _tex_coord_1_6, size = _tex_size_2_6, pt = _tex_pt_3_6; debug: [ 21] vec2 dir = vec2(0.000000, 1.000000); debug: [ 22] pt *= dir; debug: [ 23] vec2 fcoord2 = fract(pos * size - vec2(0.5)); debug: [ 24] float fcoord = dot(fcoord2, dir); debug: [ 25] vec2 base = pos - fcoord * pt - pt * vec2(1.0); debug: [ 26] float weight; debug: [ 27] vec4 ws, c; debug: [ 28] // scaler samples debug: [ 29] ws = _lut_4_6(vec2(0.000000, fcoord)); debug: [ 30] weight = ws[0]; debug: [ 31] c = texture(_src_tex_0_6, base + pt * vec2(0.0)); debug: [ 32] color += vec4(weight) * c; debug: [ 33] weight = ws[1]; debug: [ 34] c = texture(_src_tex_0_6, base + pt * vec2(1.0)); debug: [ 35] color += vec4(weight) * c; debug: [ 36] weight = ws[2]; debug: [ 37] c = texture(_src_tex_0_6, base + pt * vec2(2.0)); debug: [ 38] color += vec4(weight) * c; debug: [ 39] weight = ws[3]; debug: [ 40] c = texture(_src_tex_0_6, base + pt * vec2(3.0)); debug: [ 41] color += vec4(weight) * c; debug: [ 42] color *= vec4(1.000000); debug: [ 43] } debug: [ 44] return color; } debug: [ 45] void main() { debug: [ 46] out_color = _main_9_6(); debug: [ 47] } debug: shaderc compile status 'success' (0 errors, 0 warnings) debug: Pass statistics: size 2220, SPIR-V: vert 748 frag 1696 comp 0 debug: Sub-allocating slice 384 + 64 from slab with size 1048576 debug: Resized buffer pool of type 6 to size 1 debug: LUT method or size changed, reinitializing.. debug: Sub-allocating slice 9052160 + 12308 from slab with size 11108432 debug: Sub-allocating slice 8712960 + 1024 from slab with size 10622976 debug: Resized buffer pool of type 1 to size 1 debug: LUT method or size changed, reinitializing.. debug: Sub-allocating slice 9068544 + 20500 from slab with size 11108432 debug: Sub-allocating slice 8714112 + 16384 from slab with size 10622976 debug: Resized buffer pool of type 1 to size 1 debug: Sub-allocating slice 256 + 96 from slab with size 1048576 debug: vertex shader source: debug: [ 1] #version 450 debug: [ 2] layout(location=0) in vec2 vert_tex_coord_1_5; debug: [ 3] layout(location=0) out vec2 _tex_coord_1_5; debug: [ 4] layout(location=1) in vec2 vert_position_16_5; debug: [ 5] void main() { debug: [ 6] _tex_coord_1_5 = vert_tex_coord_1_5; debug: [ 7] gl_Position = vec4(vert_position_16_5, 0.0, 1.0); debug: [ 8] } debug: shaderc compile status 'success' (0 errors, 0 warnings) debug: fragment shader source: debug: [ 1] #version 450 debug: [ 2] layout(location=0) in vec2 _tex_coord_1_5; debug: [ 3] layout(location=0) out vec4 out_color; debug: [ 4] layout(std430, push_constant) uniform PushC { debug: [ 5] layout(offset=0) vec2 _tex_size_2_5; debug: [ 6] layout(offset=8) vec2 _tex_pt_3_5; debug: [ 7] layout(offset=16) vec3 _luma_coeffs_8_5; debug: [ 8] layout(offset=32) vec3 _cmat_m_13_5; debug: [ 9] }; debug: [ 10] layout(binding=0) uniform sampler2D _src_tex_0_5; debug: [ 11] layout(binding=1) uniform sampler2D _weights_5_5; debug: [ 12] layout(std430, binding=2) readonly buffer _PeakDetect_9_5 { debug: [ 13] layout(offset=0) vec2 average; debug: [ 14] layout(offset=8) int frame_sum; debug: [ 15] layout(offset=12) int frame_max; debug: [ 16] layout(offset=16) uint counter; debug: [ 17] }; debug: [ 18] layout(binding=3) uniform sampler2D _weights_15_5; debug: [ 19] layout(std140, binding=4) uniform _UBO_17_5 { debug: [ 20] layout(offset=0) mat3 _cms_matrix_11_5; debug: [ 21] layout(offset=48) mat3 _cmat_12_5; debug: [ 22] }; debug: [ 23] #define _LUT_POS_6_5(x) mix(0.500000, 0.500000, (x)) debug: [ 24] #define _LUT_POS_7_5(x) mix(0.007813, 0.992188, (x)) debug: [ 25] #define _lut_4_5(pos) (texture(_weights_5_5, vec2(\ debug: [ 26] _LUT_POS_6_5((pos).x)\ debug: [ 27] ,_LUT_POS_7_5((pos).y)\ debug: [ 28] )).xyzw) debug: [ 29] vec3 _hable_10_5(vec3 x) { debug: [ 30] return (x * (0.150000*x + vec3(0.050000)) + vec3(0.004000)) / debug: [ 31] (x * (0.150000*x + vec3(0.500000)) + vec3(0.060000)) debug: [ 32] - vec3(0.066667); debug: [ 33] } debug: [ 34] #define _lut_14_5(pos) (texelFetch(_weights_15_5, ivec2(pos), 0).x) debug: [ 35] vec4 _main_18_5() { debug: [ 36] // pl_shader_sample_ortho debug: [ 37] vec4 color = vec4(0.0); debug: [ 38] { debug: [ 39] vec2 pos = _tex_coord_1_5, size = _tex_size_2_5, pt = _tex_pt_3_5; debug: [ 40] vec2 dir = vec2(1.000000, 0.000000); debug: [ 41] pt *= dir; debug: [ 42] vec2 fcoord2 = fract(pos * size - vec2(0.5)); debug: [ 43] float fcoord = dot(fcoord2, dir); debug: [ 44] vec2 base = pos - fcoord * pt - pt * vec2(1.0); debug: [ 45] float weight; debug: [ 46] vec4 ws, c; debug: [ 47] // scaler samples debug: [ 48] ws = _lut_4_5(vec2(0.000000, fcoord)); debug: [ 49] weight = ws[0]; debug: [ 50] c = texture(_src_tex_0_5, base + pt * vec2(0.0)); debug: [ 51] color += vec4(weight) * c; debug: [ 52] weight = ws[1]; debug: [ 53] c = texture(_src_tex_0_5, base + pt * vec2(1.0)); debug: [ 54] color += vec4(weight) * c; debug: [ 55] weight = ws[2]; debug: [ 56] c = texture(_src_tex_0_5, base + pt * vec2(2.0)); debug: [ 57] color += vec4(weight) * c; debug: [ 58] weight = ws[3]; debug: [ 59] c = texture(_src_tex_0_5, base + pt * vec2(3.0)); debug: [ 60] color += vec4(weight) * c; debug: [ 61] color *= vec4(1.000000); debug: [ 62] } debug: [ 63] // pl_shader_color_map debug: [ 64] { debug: [ 65] // pl_shader_ootf debug: [ 66] color.rgb = max(color.rgb, 0.0); debug: [ 67] color.rgb *= vec3(0.506970 * pow(dot(_luma_coeffs_8_5, color.rgb), 0.200000)); debug: [ 68] // pl_shader_tone_map debug: [ 69] int sig_idx = 0; debug: [ 70] if (color[1] > color[sig_idx]) sig_idx = 1; debug: [ 71] if (color[2] > color[sig_idx]) sig_idx = 2; debug: [ 72] float sig_max = color[sig_idx]; debug: [ 73] float sig_peak = 10.000000; debug: [ 74] float sig_avg = 0.250000; debug: [ 75] sig_avg = average.x; debug: [ 76] sig_peak = average.y; debug: [ 77] vec3 sig = color.rgb; debug: [ 78] vec3 sig_orig = sig; debug: [ 79] float slope = min(1.000000, 0.250000 / sig_avg); debug: [ 80] sig *= slope; debug: [ 81] sig_peak *= slope; debug: [ 82] sig = _hable_10_5(sig) / _hable_10_5(vec3(sig_peak)).x; debug: [ 83] sig = min(sig, 1.01); debug: [ 84] vec3 sig_lin = sig_orig * (sig[sig_idx] / sig_orig[sig_idx]); debug: [ 85] float coeff = max(sig[sig_idx] - 0.180000, 1e-6) / debug: [ 86] max(sig[sig_idx], 1.0); debug: [ 87] coeff = 0.750000 * pow(coeff, 1.500000); debug: [ 88] color.rgb = mix(sig_lin, sig, coeff); debug: [ 89] color.rgb = _cms_matrix_11_5 * color.rgb; debug: [ 90] // pl_shader_delinearize debug: [ 91] color.rgb = max(color.rgb, 0.0); debug: [ 92] color.rgb = pow(color.rgb, vec3(1.0/2.4)); debug: [ 93] } debug: [ 94] // pl_shader_encode_color debug: [ 95] { debug: [ 96] color.rgb = _cmat_12_5 * color.rgb + _cmat_m_13_5; debug: [ 97] } debug: [ 98] // pl_shader_dither debug: [ 99] { debug: [100] float bias; debug: [101] vec2 pos = fract(gl_FragCoord.xy * 1.0/64.0); debug: [102] bias = _lut_14_5(ivec2(pos * 64)); debug: [103] color = vec4(255.000000) * color + vec4(bias); debug: [104] color = floor(color) * vec4(0.003922); debug: [105] } debug: [106] return color; } debug: [107] void main() { debug: [108] out_color = _main_18_5(); debug: [109] } debug: shaderc compile status 'success' (0 errors, 0 warnings) debug: Pass statistics: size 5844, SPIR-V: vert 748 frag 5472 comp 0 debug: Sub-allocating slice 512 + 64 from slab with size 1048576 debug: Resized buffer pool of type 6 to size 1 info: Allocating 25067520 of imported memory from fd: 33 info: Allocating 25067520 of imported memory from fd: 33 info: Allocating 25067520 of imported memory from fd: 27 info: Allocating 25067520 of imported memory from fd: 27 several seconds laiter INTEL-MESA: error: ../src/intel/vulkan/anv_device.c:2551: GPU hung on one of our command buffers (VK_ERROR_DEVICE_LOST) error: vkQueueSubmit(cmd->queue, 1, &sinfo, cmd->fence): VK_ERROR_DEVICE_LOST error: vkQueueSubmit(cmd->queue, 1, &sinfo, cmd->fence): VK_ERROR_DEVICE_LOST error: vkQueueSubmit(cmd->queue, 1, &sinfo, cmd->fence): VK_ERROR_DEVICE_LOST error: vkQueueSubmit(cmd->queue, 1, &sinfo, cmd->fence): VK_ERROR_DEVICE_LOST error: vkQueueSubmit(cmd->queue, 1, &sinfo, cmd->fence): VK_ERROR_DEVICE_LOST error: vkQueueSubmit(cmd->queue, 1, &sinfo, cmd->fence): VK_ERROR_DEVICE_LOST error: vkQueueSubmit(cmd->queue, 1, &sinfo, cmd->fence): VK_ERROR_DEVICE_LOST