[INFO] fetching crate oximedia-gpu 0.1.3... [INFO] testing oximedia-gpu-0.1.3 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate oximedia-gpu 0.1.3 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate oximedia-gpu 0.1.3 [INFO] finished tweaking crates.io crate oximedia-gpu 0.1.3 [INFO] tweaked toml for crates.io crate oximedia-gpu 0.1.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-gpu 0.1.3 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oximedia-gpu 0.1.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2bebfd890ca64c8cd20640658336189e9097aa8527e61faedfaf9df2a5ccbde0 [INFO] running `Command { std: "docker" "start" "-a" "2bebfd890ca64c8cd20640658336189e9097aa8527e61faedfaf9df2a5ccbde0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2bebfd890ca64c8cd20640658336189e9097aa8527e61faedfaf9df2a5ccbde0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2bebfd890ca64c8cd20640658336189e9097aa8527e61faedfaf9df2a5ccbde0", kill_on_drop: false }` [INFO] [stdout] 2bebfd890ca64c8cd20640658336189e9097aa8527e61faedfaf9df2a5ccbde0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 16515bf31ba02d400fe155a4f58fb3539748050657fbd4037b2e3d9df3f62bf9 [INFO] running `Command { std: "docker" "start" "-a" "16515bf31ba02d400fe155a4f58fb3539748050657fbd4037b2e3d9df3f62bf9", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling libloading v0.8.9 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling ash v0.38.0+1.3.281 [INFO] [stderr] Compiling bit-vec v0.9.1 [INFO] [stderr] Compiling wayland-sys v0.31.11 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling hexf-parse v0.2.1 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling raw-window-handle v0.6.2 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling naga v29.0.1 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling khronos-egl v6.0.0 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling dlib v0.5.3 [INFO] [stderr] Compiling spirv v0.4.0+sdk-1.4.341.0 [INFO] [stderr] Compiling gpu-descriptor-types v0.2.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling codespan-reporting v0.13.1 [INFO] [stderr] Compiling wgpu-hal v29.0.1 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling presser v0.3.1 [INFO] [stderr] Compiling bit-set v0.9.1 [INFO] [stderr] Compiling glow v0.17.0 [INFO] [stderr] Compiling renderdoc-sys v1.1.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling profiling v1.0.17 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling wgpu-core v29.0.1 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling wgpu v29.0.1 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling gpu-descriptor v0.3.2 [INFO] [stderr] Compiling pollster v0.4.0 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling ordered-float v5.3.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerocopy-derive v0.8.48 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling wgpu-types v29.0.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling oximedia-core v0.1.3 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling gpu-allocator v0.28.0 [INFO] [stderr] Compiling wgpu-naga-bridge v29.0.1 [INFO] [stderr] Compiling wgpu-core-deps-windows-linux-android v29.0.0 [INFO] [stderr] Compiling oximedia-gpu v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 16s [INFO] running `Command { std: "docker" "inspect" "16515bf31ba02d400fe155a4f58fb3539748050657fbd4037b2e3d9df3f62bf9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "16515bf31ba02d400fe155a4f58fb3539748050657fbd4037b2e3d9df3f62bf9", kill_on_drop: false }` [INFO] [stdout] 16515bf31ba02d400fe155a4f58fb3539748050657fbd4037b2e3d9df3f62bf9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3a6cd4f9128492b6e86ce9eff0b60bd7c2185c288690eeb79d8358af10623fd6 [INFO] running `Command { std: "docker" "start" "-a" "3a6cd4f9128492b6e86ce9eff0b60bd7c2185c288690eeb79d8358af10623fd6", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling wayland-sys v0.31.11 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling gpu-allocator v0.28.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling spirv v0.4.0+sdk-1.4.341.0 [INFO] [stderr] Compiling gpu-descriptor-types v0.2.0 [INFO] [stderr] Compiling wgpu-types v29.0.1 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling gpu-descriptor v0.3.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling oximedia-core v0.1.3 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ordered-float v5.3.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling criterion-plot v0.8.2 [INFO] [stderr] Compiling naga v29.0.1 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling criterion v0.8.2 [INFO] [stderr] Compiling wgpu-naga-bridge v29.0.1 [INFO] [stderr] Compiling wgpu-hal v29.0.1 [INFO] [stderr] Compiling wgpu-core-deps-windows-linux-android v29.0.0 [INFO] [stderr] Compiling wgpu-core v29.0.1 [INFO] [stderr] Compiling wgpu v29.0.1 [INFO] [stderr] Compiling oximedia-gpu v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 09s [INFO] running `Command { std: "docker" "inspect" "3a6cd4f9128492b6e86ce9eff0b60bd7c2185c288690eeb79d8358af10623fd6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a6cd4f9128492b6e86ce9eff0b60bd7c2185c288690eeb79d8358af10623fd6", kill_on_drop: false }` [INFO] [stdout] 3a6cd4f9128492b6e86ce9eff0b60bd7c2185c288690eeb79d8358af10623fd6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 7bcac536793522ed356867554454e0c968352b97d3d1353f8dafc114fd495e63 [INFO] running `Command { std: "docker" "start" "-a" "7bcac536793522ed356867554454e0c968352b97d3d1353f8dafc114fd495e63", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_gpu-ec31cdfcea91e280) [INFO] [stdout] [INFO] [stdout] running 1240 tests [INFO] [stdout] test accelerator::tests::test_builder_default_builds ... ignored [INFO] [stdout] test accelerator::tests::test_builder_build_cpu_static ... ok [INFO] [stdout] test accelerator::tests::test_cpu_dct_invalid_dims ... ok [INFO] [stdout] test accelerator::tests::test_cpu_accelerator_name ... ok [INFO] [stdout] test accelerator::tests::test_cpu_rgb_to_yuv_invalid_size ... ok [INFO] [stdout] test accelerator::tests::test_cpu_pixel_diff_self ... ok [INFO] [stdout] test accelerator::tests::test_cpu_scale_bilinear_upsample ... ok [INFO] [stdout] test async_compute::tests::test_cancel_removes_task ... ok [INFO] [stdout] test async_compute::tests::test_fail_task_marks_failed ... ok [INFO] [stdout] test async_compute::tests::test_is_empty_after_all_polled ... ok [INFO] [stdout] test accelerator::tests::test_cpu_mse_max_error ... ok [INFO] [stdout] test async_compute::tests::test_multiple_tasks_independent ... ok [INFO] [stdout] test async_compute::tests::test_poll_twice_returns_none_second_time ... ok [INFO] [stdout] test async_compute::tests::test_poll_unknown_task_returns_none ... ok [INFO] [stdout] test async_compute::tests::test_resubmit_replaces_previous ... ok [INFO] [stdout] test async_compute::tests::test_state_complete_after_submit ... ok [INFO] [stdout] test async_compute::tests::test_submit_and_poll_returns_data ... ok [INFO] [stdout] test async_compute::tests::test_submission_count_increments ... ok [INFO] [stdout] test backend::cpu::tests::test_cpu_backend_always_available ... ok [INFO] [stdout] test backend::cpu::tests::test_cpu_backend_creation ... ok [INFO] [stdout] test accelerator::tests::test_cpu_scale_bilinear_identity ... ok [INFO] [stdout] test backend::vulkan::tests::test_vulkan_backend_available ... ignored [INFO] [stdout] test backend::cpu::tests::test_rgb_to_yuv_cpu ... ok [INFO] [stdout] test backend::cpu::tests::test_simd_detection ... ok [INFO] [stdout] test accelerator::tests::test_cpu_mse_identical ... ok [INFO] [stdout] test backend::vulkan::tests::test_vulkan_features ... ok [INFO] [stdout] test barrier_manager::tests::test_barrier_desc_raw_hazard ... ok [INFO] [stdout] test barrier_manager::tests::test_barrier_desc_waw_hazard ... ok [INFO] [stdout] test barrier_manager::tests::test_batch_transition ... ok [INFO] [stdout] test barrier_manager::tests::test_barrier_desc_war_hazard ... ok [INFO] [stdout] test barrier_manager::tests::test_display_access_type ... ok [INFO] [stdout] test barrier_manager::tests::test_flush_clears_pending ... ok [INFO] [stdout] test barrier_manager::tests::test_display_pipeline_stage ... ok [INFO] [stdout] test barrier_manager::tests::test_register_resource ... ok [INFO] [stdout] test barrier_manager::tests::test_read_to_read_same_stage_no_barrier ... ok [INFO] [stdout] test accelerator::tests::test_cpu_rgb_to_yuv_roundtrip ... ok [INFO] [stdout] test barrier_manager::tests::test_new_barrier_manager ... ok [INFO] [stdout] test backend::cpu::tests::test_resize_bilinear_cpu ... ok [INFO] [stdout] test barrier_manager::tests::test_reset ... ok [INFO] [stdout] test barrier_manager::tests::test_same_state_no_barrier ... ok [INFO] [stdout] test barrier_manager::tests::test_transition_emits_barrier ... ok [INFO] [stdout] test accelerator::tests::test_cpu_edge_detect_flat_image ... ok [INFO] [stdout] test accelerator::tests::test_cpu_gaussian_blur_preserves_size ... ok [INFO] [stdout] test blend_kernel::tests::test_blend_invalid_dims ... ok [INFO] [stdout] test barrier_manager::tests::test_transition_unregistered_resource ... ok [INFO] [stdout] test accelerator::tests::test_cpu_sharpen_stable_flat ... ok [INFO] [stdout] test blend_kernel::tests::test_blend_masked_mask_mismatch ... ok [INFO] [stdout] test blend_kernel::tests::test_blend_mode_labels ... ok [INFO] [stdout] test blend_kernel::tests::test_composite_layers_empty_returns_transparent ... ok [INFO] [stdout] test blend_kernel::tests::test_difference_with_same_src_dst_yields_black ... ok [INFO] [stdout] test blend_kernel::tests::test_masked_blend_all_opaque ... ok [INFO] [stdout] test blend_kernel::tests::test_blend_stats_returned ... ok [INFO] [stdout] test blend_kernel::tests::test_apply_tint_black_tint_yields_black ... ok [INFO] [stdout] test blend_kernel::tests::test_multiply_with_black_src_yields_zero ... ok [INFO] [stdout] test blend_kernel::tests::test_blend_buffer_mismatch ... ok [INFO] [stdout] test accelerator::tests::test_cpu_rgb_red_pixel ... ok [INFO] [stdout] test blend_kernel::tests::test_masked_blend_all_transparent_preserves_dst ... ok [INFO] [stdout] test blend_kernel::tests::test_opacity_zero_preserves_dst ... ok [INFO] [stdout] test blend_kernel::tests::test_premultiply_alpha_full_opaque ... ok [INFO] [stdout] test blend_kernel::tests::test_apply_tint_white_tint_unchanged ... ok [INFO] [stdout] test async_compute::tests::test_active_count_decreases_on_poll ... ok [INFO] [stdout] test async_compute::tests::test_empty_payload_allowed ... ok [INFO] [stdout] test blend_kernel::tests::test_composite_layers_single_opaque ... ok [INFO] [stdout] test barrier_manager::tests::test_unregister_resource ... ok [INFO] [stdout] test blend_kernel::tests::test_premultiply_unpremultiply_roundtrip ... ok [INFO] [stdout] test blend_kernel::tests::test_premultiply_alpha_half_opacity ... ok [INFO] [stdout] test blend_kernel::tests::test_screen_with_white_src_yields_white ... ok [INFO] [stdout] test blend_kernel::tests::test_unpremultiply_alpha_zero_alpha ... ok [INFO] [stdout] test blend_kernel::tests::test_multiply_with_white_src_unchanged ... ok [INFO] [stdout] test async_compute::tests::test_completed_count_increments_on_poll ... ok [INFO] [stdout] test blend_kernel::tests::test_alpha_composite_fully_opaque_src ... ok [INFO] [stdout] test blend_kernel::tests::test_screen_with_black_src_unchanged ... ok [INFO] [stdout] test blend_kernel::tests::test_additive_blend_zero_src ... ok [INFO] [stdout] test buffer_copy::tests::test_buffer_region_contained ... ok [INFO] [stdout] test buffer_copy::tests::test_buffer_region_intersection ... ok [INFO] [stdout] test buffer_copy::tests::test_buffer_region_no_intersection ... ok [INFO] [stdout] test buffer_copy::tests::test_buffer_region_no_overlap ... ok [INFO] [stdout] test buffer_copy::tests::test_buffer_region_overlaps ... ok [INFO] [stdout] test buffer_copy::tests::test_copy_batch_push_and_drain ... ok [INFO] [stdout] test blend_kernel::tests::test_additive_blend_clamps_to_255 ... ok [INFO] [stdout] test buffer_copy::tests::test_copy_command_aliases ... ok [INFO] [stdout] test accelerator::tests::test_builder_force_cpu ... ok [INFO] [stdout] test buffer_copy::tests::test_copy_batch_split_independent ... ok [INFO] [stdout] test buffer_copy::tests::test_copy_batch_with_hazards ... ok [INFO] [stdout] test buffer_copy::tests::test_copy_direction_display ... ok [INFO] [stdout] test buffer_copy::tests::test_copy_stats ... ok [INFO] [stdout] test buffer_copy::tests::test_image_region_basic ... ok [INFO] [stdout] test buffer_copy::tests::test_copy_stats_multiple_directions ... ok [INFO] [stdout] test buffer_copy::tests::test_image_region_contains_point ... ok [INFO] [stdout] test buffer_pool::tests::test_buffer_pool_alloc_free_alloc_reuse ... ok [INFO] [stdout] test buffer_pool::tests::test_gpu_buffer_as_mut_slice ... ok [INFO] [stdout] test buffer_pool::tests::test_pool_budget_exceeded ... ok [INFO] [stdout] test buffer_pool::tests::test_pool_defragment_recently_released_kept ... ok [INFO] [stdout] test buffer_pool::tests::test_pool_defragment_keeps_in_use ... ok [INFO] [stdout] test buffer_copy::tests::test_buffer_region_basic ... ok [INFO] [stdout] test buffer_copy::tests::test_copy_command_dst_region ... ok [INFO] [stdout] test buffer_copy::tests::test_copy_command_no_alias ... ok [INFO] [stdout] test buffer_pool::tests::test_pool_reuse ... ok [INFO] [stdout] test buffer_copy::tests::test_buffer_region_from_start ... ok [INFO] [stdout] test buffer_pool::tests::test_pool_acquire_and_release ... ok [INFO] [stdout] test buffer_copy::tests::test_copy_batch_no_hazards ... ok [INFO] [stdout] test buffer_pool::tests::test_pool_smallest_compatible_preferred ... ok [INFO] [stdout] test buffer_pool::tests::test_pool_stats_in_use_count ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_alignment_respected ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_basic ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_capacity_and_alignment_accessors ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_alloc_free_cycle_many ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_defrag_reclaims_space ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_fills_buffer ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_debug_fmt ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_zero_size_returns_none ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_free_reduces_count ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_ids_are_unique ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_utilization_rises_and_falls ... ok [INFO] [stdout] test cache::tests::test_shader_cache ... ok [INFO] [stdout] test color_convert_kernel::tests::test_color_standard_kg_sums_to_one ... ok [INFO] [stdout] test color_convert_kernel::tests::test_color_standard_kr_kb_bt601 ... ok [INFO] [stdout] test color_convert_kernel::tests::test_color_standard_kr_kb_bt2020 ... ok [INFO] [stdout] test buffer_pool::tests::test_sub_alloc_defrag_zeroes_utilization_when_all_freed ... ok [INFO] [stdout] test color_convert_kernel::tests::test_color_standard_kr_kb_bt709 ... ok [INFO] [stdout] test color_convert_kernel::tests::test_compress_and_expand_roundtrip ... ok [INFO] [stdout] test color_convert_kernel::tests::test_compress_full_to_limited_white ... ok [INFO] [stdout] test color_convert_kernel::tests::test_conversion_matrix_full_range_bias ... ok [INFO] [stdout] test buffer_pool::tests::test_gpu_buffer_fill ... ok [INFO] [stdout] test color_convert_kernel::tests::test_conversion_matrix_limited_range_bias ... ok [INFO] [stdout] test buffer_pool::tests::test_gpu_buffer_new ... ok [INFO] [stdout] test buffer_pool::tests::test_pool_get_missing ... ok [INFO] [stdout] test buffer_pool::tests::test_buffer_pool_alloc_free_100_cycles ... ok [INFO] [stdout] test color_convert_kernel::tests::test_kernel_instance_standard_and_range ... ok [INFO] [stdout] test color_convert_kernel::tests::test_kernel_instance_convert_rgb_to_yuv ... ok [INFO] [stdout] test cache::tests::test_pipeline_cache_creation ... ok [INFO] [stdout] test color_convert_kernel::tests::test_roundtrip_black_bt709_full ... ok [INFO] [stdout] test color_convert_kernel::tests::test_roundtrip_bt2020_full ... ok [INFO] [stdout] test cache::tests::test_pipeline_cache_put_get ... ok [INFO] [stdout] test cache::tests::test_cache_stats ... ok [INFO] [stdout] test color_convert_kernel::tests::test_roundtrip_bt709_limited ... ok [INFO] [stdout] test color_convert_kernel::tests::test_roundtrip_gray_bt709_full ... ok [INFO] [stdout] test color_convert_kernel::tests::test_roundtrip_green_bt709_full ... ok [INFO] [stdout] test color_convert_kernel::tests::test_roundtrip_red_bt709_full ... ok [INFO] [stdout] test color_convert_kernel::tests::test_roundtrip_white_bt709_full ... ok [INFO] [stdout] test color_convert_kernel::tests::test_roundtrip_blue_bt709_full ... ok [INFO] [stdout] test color_convert_kernel::tests::test_rgb_to_yuv_zero_dimensions ... ok [INFO] [stdout] test color_convert_kernel::tests::test_roundtrip_bt601_full ... ok [INFO] [stdout] test color_convert_kernel::tests::test_stats_pixels_processed ... ok [INFO] [stdout] test command_buffer::tests::test_buffer_slot_flip ... ok [INFO] [stdout] test color_convert_kernel::tests::test_rgb_to_yuv_buffer_mismatch ... ok [INFO] [stdout] test command_buffer::tests::test_buffer_slot_index ... ok [INFO] [stdout] test command_buffer::tests::test_begin_after_reset_allows_recording ... ok [INFO] [stdout] test command_buffer::tests::test_double_buffer_begin_record ... ok [INFO] [stdout] test command_buffer::tests::test_double_buffer_begin_record_fails_when_not_idle ... ok [INFO] [stdout] test command_buffer::tests::test_double_buffer_command_count ... ok [INFO] [stdout] test command_buffer::tests::test_double_buffer_full_cycle_slot_a ... ok [INFO] [stdout] test command_buffer::tests::test_double_buffer_initial_state ... ok [INFO] [stdout] test command_buffer::tests::test_double_buffer_mark_retired_fails_when_not_inflight ... ok [INFO] [stdout] test command_buffer::tests::test_double_buffer_reset_slot_fails_when_not_retired ... ok [INFO] [stdout] test command_buffer::tests::test_double_buffer_interleaved_slots ... ok [INFO] [stdout] test command_buffer::tests::test_entry_estimated_cost_draw_greater_than_copy ... ok [INFO] [stdout] test color_convert_kernel::tests::test_planar_yuv444_roundtrip ... ok [INFO] [stdout] test color_convert_kernel::tests::test_rgba_to_planar_yuv444_size ... ok [INFO] [stdout] test color_convert_kernel::tests::test_multi_pixel_batch ... ok [INFO] [stdout] test command_buffer::tests::test_entry_label_stored ... ok [INFO] [stdout] test command_buffer::tests::test_entry_estimated_cost_payload_increases_cost ... ok [INFO] [stdout] test command_buffer::tests::test_finish_fails_when_already_executable ... ok [INFO] [stdout] test command_buffer::tests::test_finish_transitions_to_executable ... ok [INFO] [stdout] test command_buffer::tests::test_is_compute_true ... ok [INFO] [stdout] test command_buffer::tests::test_is_copy_true ... ok [INFO] [stdout] test command_buffer::tests::test_is_draw_false_for_compute ... ok [INFO] [stdout] test command_buffer::tests::test_is_draw_true ... ok [INFO] [stdout] test command_buffer::tests::test_new_buffer_is_recording ... ok [INFO] [stdout] test command_buffer::tests::test_label_stored ... ok [INFO] [stdout] test command_buffer::tests::test_record_increments_count ... ok [INFO] [stdout] test command_buffer::tests::test_is_copy_false_for_barrier ... ok [INFO] [stdout] test command_buffer::tests::test_reset_clears_commands_and_sets_reset_state ... ok [INFO] [stdout] test command_buffer::tests::test_submit_fails_when_not_executable ... ok [INFO] [stdout] test command_buffer::tests::test_submit_returns_commands ... ok [INFO] [stdout] test command_buffer::tests::test_submit_transitions_to_pending ... ok [INFO] [stdout] test compiler::tests::test_compilation_error ... ok [INFO] [stdout] test command_buffer::tests::test_total_estimated_cost_sums_entries ... ok [INFO] [stdout] test compute::tests::test_dispatch_3d ... ok [INFO] [stdout] test compute::tests::test_dispatch_1d ... ok [INFO] [stdout] test compute_dispatch::tests::test_data_driven_covered_elements_gte_last_count ... ok [INFO] [stdout] test compute_dispatch::tests::test_data_driven_fixed_row_count ... ok [INFO] [stdout] test color_convert_kernel::tests::test_limited_to_full_y_white ... ok [INFO] [stdout] test compute_dispatch::tests::test_data_driven_grid_none_before_prepare ... ok [INFO] [stdout] test command_buffer::tests::test_double_buffer_submit_fails_when_not_ready ... ok [INFO] [stdout] test compute_dispatch::tests::test_data_driven_last_element_count_stored ... ok [INFO] [stdout] test compute_dispatch::tests::test_data_driven_linear_rounds_up ... ok [INFO] [stdout] test compute_dispatch::tests::test_data_driven_linear_exact ... ok [INFO] [stdout] test compiler::tests::test_compilation_options ... ok [INFO] [stdout] test compiler::tests::test_preprocessor ... ok [INFO] [stdout] test compute_dispatch::tests::test_data_driven_linear_zero_elements ... ok [INFO] [stdout] test compute_dispatch::tests::test_data_driven_square_covers_all_elements ... ok [INFO] [stdout] test compute_dispatch::tests::test_data_driven_square_grid_is_square ... ok [INFO] [stdout] test compute_dispatch::tests::test_dispatch_1d_exact ... ok [INFO] [stdout] test compute_dispatch::tests::test_dispatch_1d_rounds_up ... ok [INFO] [stdout] test compute_dispatch::tests::test_dispatch_3d ... ok [INFO] [stdout] test compute_dispatch::tests::test_dispatch_2d ... ok [INFO] [stdout] test compute_dispatch::tests::test_dispatch_tracker_records_sequential_indices ... ok [INFO] [stdout] test compute_dispatch::tests::test_dispatch_tracker_reset ... ok [INFO] [stdout] test compute_dispatch::tests::test_dispatch_tracker_total_threads ... ok [INFO] [stdout] test compute_dispatch::tests::test_workgroup_is_valid ... ok [INFO] [stdout] test compute::tests::test_dispatch_2d ... ok [INFO] [stdout] test compute_dispatch::tests::test_recommend_2d_workgroup_within_limit ... ok [INFO] [stdout] test compute_dispatch::tests::test_workgroup_thread_count ... ok [INFO] [stdout] test compute_dispatch::tests::test_barrier_tracker_push_and_count ... ok [INFO] [stdout] test compute_graph::tests::test_add_duplicate_node_error ... ok [INFO] [stdout] test compute_graph::tests::test_add_cyclic_edge_error ... ok [INFO] [stdout] test compute_dispatch::tests::test_barrier_tracker_reset ... ok [INFO] [stdout] test compute_dispatch::tests::test_recommend_2d_workgroup_square ... ok [INFO] [stdout] test compute_dispatch::tests::test_total_threads ... ok [INFO] [stdout] test compute_graph::tests::test_add_node_and_count ... ok [INFO] [stdout] test compute_graph::tests::test_add_edge_unknown_node_error ... ok [INFO] [stdout] test compute_graph::tests::test_bind_resource_to_kernel ... ok [INFO] [stdout] test compute_graph::tests::test_bind_resource_to_barrier_fails ... ok [INFO] [stdout] test compute_graph::tests::test_execution_order_independent_nodes_sorted_by_id ... ok [INFO] [stdout] test compute_graph::tests::test_bind_resource_unknown_node_fails ... ok [INFO] [stdout] test compute_graph::tests::test_add_edge_increments_count ... ok [INFO] [stdout] test compute_graph::tests::test_predecessors_and_successors ... ok [INFO] [stdout] test compute_graph::tests::test_execution_order_with_barrier_and_copy ... ok [INFO] [stdout] test compute_graph::tests::test_execution_order_linear_chain ... ok [INFO] [stdout] test compute_graph::tests::test_execution_order_single_node ... ok [INFO] [stdout] test compute_graph::tests::test_pipeline_stage_all_contains_any ... ok [INFO] [stdout] test compute_graph::tests::test_pipeline_stage_contains ... ok [INFO] [stdout] test compute_graph::tests::test_predecessors_unknown_node_error ... ok [INFO] [stdout] test compute_graph::tests::test_validate_fails_when_kernel_has_no_bindings ... ok [INFO] [stdout] test compute_graph::tests::test_validate_passes_when_all_bound ... ok [INFO] [stdout] test compute_kernels::tests::test_alpha_composite_size_mismatch ... ok [INFO] [stdout] test compute_kernels::tests::test_alpha_composite_opaque_fg ... ok [INFO] [stdout] test compute_kernels::tests::test_alpha_composite_transparent_fg ... ok [INFO] [stdout] test compute_kernels::tests::test_gaussian_blur_flat_image ... ok [INFO] [stdout] test compute_kernels::tests::test_gaussian_blur_zero_sigma ... ok [INFO] [stdout] test compute_kernels::tests::test_gaussian_blur_invalid_size ... ok [INFO] [stdout] test compute_kernels::tests::test_histogram_equalization_constant ... ok [INFO] [stdout] test compute_kernels::tests::test_rgba_to_yuv420_invalid_size ... ok [INFO] [stdout] test compute_kernels::tests::test_rgba_to_yuv420_black_pixel ... ok [INFO] [stdout] test compute_kernels::tests::test_rgba_to_yuv420_size ... ok [INFO] [stdout] test compute_kernels::tests::test_scale_image_identity ... ok [INFO] [stdout] test compute_kernels::tests::test_scale_image_upscale_size ... ok [INFO] [stdout] test compute_kernels::tests::test_rgba_to_yuv420_white_pixel ... ok [INFO] [stdout] test compute_kernels::tests::test_scale_image_zero_dimension ... ok [INFO] [stdout] test compute_kernels::tests::test_threshold_otsu_bimodal ... ok [INFO] [stdout] test compute_kernels::tests::test_yuv420_roundtrip ... ok [INFO] [stdout] test compute_kernels::tests::test_yuv420_to_rgba_invalid_size ... ok [INFO] [stdout] test compute_pass::tests::test_batched_debug_fmt ... ok [INFO] [stdout] test compute_pass::tests::test_batched_flush_returns_all_pending ... ok [INFO] [stdout] test compute_pass::tests::test_batched_flush_empty_returns_empty ... ok [INFO] [stdout] test compute_pass::tests::test_batched_flush_sorts_by_pipeline_id ... ok [INFO] [stdout] test compute_pass::tests::test_batched_submit_auto_flush_at_limit ... ok [INFO] [stdout] test compute_pass::tests::test_batched_submit_no_auto_flush_below_limit ... ok [INFO] [stdout] test compute_pass::tests::test_batched_similar_pipeline_ids_adjacent ... ok [INFO] [stdout] test compute_pass::tests::test_batched_max_batch_size_accessor ... ok [INFO] [stdout] test compute_pass::tests::test_batched_total_flushed_accumulates ... ok [INFO] [stdout] test compute_pass::tests::test_compute_pass_new_defaults ... ok [INFO] [stdout] test compute_pass::tests::test_compute_pass_add_output_binding ... ok [INFO] [stdout] test compute_pass::tests::test_compute_pass_add_input_binding ... ok [INFO] [stdout] test compute_pass::tests::test_buffer_binding_output ... ok [INFO] [stdout] test compute_kernels::tests::test_sobel_flat_image_is_zero ... ok [INFO] [stdout] test compute_pass::tests::test_pass_queue_empty ... ok [INFO] [stdout] test compute_kernels::tests::test_sobel_vertical_edge ... ok [INFO] [stdout] test compute_pass::tests::test_buffer_binding_input ... ok [INFO] [stdout] test compute_pass::tests::test_pass_queue_passes_of_type ... ok [INFO] [stdout] test compute_pass::tests::test_pass_queue_passes_of_type_empty_result ... ok [INFO] [stdout] test compute_pass::tests::test_pass_queue_total_bindings ... ok [INFO] [stdout] test compute_pass::tests::test_pass_type_audio_is_real_time ... ok [INFO] [stdout] test compute_shader::tests::test_execute_empty_data_no_panic ... ok [INFO] [stdout] test compute_pass::tests::test_pass_type_image_not_real_time ... ok [INFO] [stdout] test compute_shader::tests::test_execute_multiply_by_two ... ok [INFO] [stdout] test compute_shader::tests::test_execute_f32_scale ... ok [INFO] [stdout] test compute_shader::tests::test_execute_single_work_group ... ok [INFO] [stdout] test compute_shader::tests::test_execute_work_groups_larger_than_needed ... ok [INFO] [stdout] test compute_pass::tests::test_pass_queue_add_and_count ... ok [INFO] [stdout] test compute_pass::tests::test_pass_type_post_process_not_real_time ... ok [INFO] [stdout] test compute_pass::tests::test_total_work_items_1x1x1 ... ok [INFO] [stdout] test compute_shader::tests::test_dispatch_with_barrier ... ok [INFO] [stdout] test compute_pass::tests::test_total_work_items_custom ... ok [INFO] [stdout] test compute_pass::tests::test_pass_type_video_is_real_time ... ok [INFO] [stdout] test compute_shader::tests::test_multiple_kernels_on_same_data ... ok [INFO] [stdout] test compute_shader::tests::test_shader_kernel_name_and_group_size ... ok [INFO] [stdout] test compute_shader::tests::test_shader_kernel_group_size_zero_normalised ... ok [INFO] [stdout] test compute_shader::tests::test_thread_group_context_zero_group ... ok [INFO] [stdout] test compute_shader::tests::test_simulator_default_group_size ... ok [INFO] [stdout] test compute_shader::tests::test_simulator_create_kernel_with_group_size ... ok [INFO] [stdout] test compute_shader::tests::test_simulator_zero_group_size_normalised ... ok [INFO] [stdout] test compute_shader::tests::test_thread_group_context_global_id ... ok [INFO] [stdout] test compute_shader::tests::test_simulator_create_kernel_and_dispatch ... ok [INFO] [stdout] test descriptor_set::tests::test_binding_type_is_buffer_storage ... ok [INFO] [stdout] test descriptor_set::tests::test_binding_type_is_buffer_texture_false ... ok [INFO] [stdout] test descriptor_set::tests::test_binding_type_is_buffer_uniform ... ok [INFO] [stdout] test descriptor_set::tests::test_binding_type_is_writable ... ok [INFO] [stdout] test descriptor_set::tests::test_binding_type_is_texture ... ok [INFO] [stdout] test descriptor_set::tests::test_descriptor_binding_with_label ... ok [INFO] [stdout] test descriptor_set::tests::test_descriptor_binding_is_valid ... ok [INFO] [stdout] test descriptor_set::tests::test_descriptor_binding_array_count ... ok [INFO] [stdout] test descriptor_set::tests::test_descriptor_set_buffer_bindings ... ok [INFO] [stdout] test descriptor_set::tests::test_descriptor_layout_empty ... ok [INFO] [stdout] test descriptor_set::tests::test_descriptor_set_replace_binding ... ok [INFO] [stdout] test descriptor_set::tests::test_descriptor_layout_bindings ... ok [INFO] [stdout] test descriptor_set::tests::test_descriptor_set_add_binding_count ... ok [INFO] [stdout] test compute_shader::tests::test_kernel_captures_closure_state_with_atomic ... ok [INFO] [stdout] test compute_shader::tests::test_large_data_set ... ok [INFO] [stdout] test double_buffer::tests::test_begin_encode_transitions_to_encoding ... ok [INFO] [stdout] test double_buffer::tests::test_double_buffer_alternates_slots ... ok [INFO] [stdout] test double_buffer::tests::test_default_impl ... ok [INFO] [stdout] test double_buffer::tests::test_estimated_fps_zero_when_no_frames ... ok [INFO] [stdout] test double_buffer::tests::test_frame_index_increments ... ok [INFO] [stdout] test double_buffer::tests::test_gpu_work_failure_records_stats ... ok [INFO] [stdout] test double_buffer::tests::test_max_min_latency_with_empty_stats ... ok [INFO] [stdout] test double_buffer::tests::test_mark_complete_transitions ... ok [INFO] [stdout] test double_buffer::tests::test_mark_complete_ignored_for_non_inflight ... ok [INFO] [stdout] test double_buffer::tests::test_new_submitter_is_idle ... ok [INFO] [stdout] test double_buffer::tests::test_reclaim_resets_slot ... ok [INFO] [stdout] test double_buffer::tests::test_no_free_slot_when_both_in_flight ... ok [INFO] [stdout] test double_buffer::tests::test_reset_clears_everything ... ok [INFO] [stdout] test double_buffer::tests::test_payload_size_tracking ... ok [INFO] [stdout] test compute_shader::tests::test_execute_fill_with_global_id ... ok [INFO] [stdout] test buffer_pool::tests::test_buffer_pool_alloc_1000_then_free_all ... ok [INFO] [stdout] test double_buffer::tests::test_slot_out_of_range ... ok [INFO] [stdout] test double_buffer::tests::test_slot_state_display ... ok [INFO] [stdout] test double_buffer::tests::test_stats_utilisation_bounded ... ok [INFO] [stdout] test double_buffer::tests::test_submit_sync_full_cycle ... ok [INFO] [stdout] test double_buffer::tests::test_stats_avg_latency_not_zero_after_frames ... ok [INFO] [stdout] test fence_pool::tests::test_acquire_fence ... ok [INFO] [stdout] test double_buffer::tests::test_submit_wrong_state_returns_error ... ok [INFO] [stdout] test fence_pool::tests::test_create_default_pool ... ok [INFO] [stdout] test fence_pool::tests::test_create_with_config ... ok [INFO] [stdout] test fence_pool::tests::test_fence_display ... ok [INFO] [stdout] test fence_pool::tests::test_flush_all ... ok [INFO] [stdout] test fence_pool::tests::test_max_size_limit ... ok [INFO] [stdout] test fence_pool::tests::test_has_available ... ok [INFO] [stdout] test fence_pool::tests::test_no_auto_grow ... ok [INFO] [stdout] test fence_pool::tests::test_pending_fences ... ok [INFO] [stdout] test fence_pool::tests::test_release_fence ... ok [INFO] [stdout] test fence_pool::tests::test_reset_pool ... ok [INFO] [stdout] test double_buffer::tests::test_submit_transitions_to_in_flight ... ok [INFO] [stdout] test fence_pool::tests::test_signal_fence ... ok [INFO] [stdout] test fence_pool::tests::test_stats_utilization ... ok [INFO] [stdout] test fence_pool::tests::test_stats_utilization_empty ... ok [INFO] [stdout] test fence_pool::tests::test_wait_timeout ... ok [INFO] [stdout] test film_grain::tests::test_apply_rgba_f32_wrong_size_rejected ... ok [INFO] [stdout] test film_grain::tests::test_apply_rgba_wrong_size_rejected ... ok [INFO] [stdout] test fence_pool::tests::test_pooled_fence_latency ... ok [INFO] [stdout] test film_grain::tests::test_apply_rgba_f32_basic ... ok [INFO] [stdout] test fence_pool::tests::test_stats ... ok [INFO] [stdout] test film_grain::tests::test_grain_statistics_from_empty_plane ... ok [INFO] [stdout] test film_grain::tests::test_grain_statistics_bounds ... ok [INFO] [stdout] test film_grain::tests::test_grain_alpha_unchanged ... ok [INFO] [stdout] test film_grain::tests::test_grain_statistics_std_dev_positive ... ok [INFO] [stdout] test film_grain::tests::test_heavy_grain_larger_std_dev_than_light ... ok [INFO] [stdout] test film_grain::tests::test_light_heavy_presets_differ ... ok [INFO] [stdout] test film_grain::tests::test_apply_rgba_modifies_frame ... ok [INFO] [stdout] test film_grain::tests::test_apply_rgba_correct_size ... ok [INFO] [stdout] test film_grain::tests::test_apply_rgba_f32_alpha_unchanged ... ok [INFO] [stdout] test film_grain::tests::test_apply_yuv420 ... ok [INFO] [stdout] test gpu_buffer::tests::test_buffer_usage_is_writable_storage_rw ... ok [INFO] [stdout] test gpu_buffer::tests::test_buffer_usage_label_non_empty ... ok [INFO] [stdout] test gpu_buffer::tests::test_buffer_usage_not_staging_uniform ... ok [INFO] [stdout] test gpu_buffer::tests::test_buffer_usage_not_writable_storage_read ... ok [INFO] [stdout] test gpu_buffer::tests::test_gpu_buffer_aligned_size ... ok [INFO] [stdout] test gpu_buffer::tests::test_buffer_usage_is_staging_upload ... ok [INFO] [stdout] test gpu_buffer::tests::test_gpu_buffer_map_upload_ok ... ok [INFO] [stdout] test gpu_buffer::tests::test_gpu_buffer_map_non_staging_err ... ok [INFO] [stdout] test gpu_buffer::tests::test_gpu_buffer_not_mapped_by_default ... ok [INFO] [stdout] test gpu_buffer::tests::test_gpu_buffer_size_bytes ... ok [INFO] [stdout] test gpu_buffer::tests::test_pool_allocate_creates_buffer ... ok [INFO] [stdout] test gpu_buffer::tests::test_gpu_buffer_unmap_clears_flag ... ok [INFO] [stdout] test gpu_buffer::tests::test_pool_total_allocated ... ok [INFO] [stdout] test gpu_buffer::tests::test_pool_free_count_after_release ... ok [INFO] [stdout] test gpu_buffer::tests::test_pool_release_and_reuse ... ok [INFO] [stdout] test film_grain::tests::test_yuv420_wrong_y_size_rejected ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_compute_buffer_psnr_convenience ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_compare_f32_identical ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_compute_buffer_rms_convenience ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_compare_f32_small_diff ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_diff_percentage ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_buffers_within_tolerance_convenience ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_different_length_buffers_uses_shorter ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_empty_buffers ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_identical_buffers_exact_match ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_max_diff_is_worst_case ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_psnr_high_for_small_differences ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_single_element_difference ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_suite_f32_case ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_tolerance_max_abs_diff_pass ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_tolerance_metric_display ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_tolerance_psnr_pass ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_tolerance_mean_abs_diff_pass ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_tolerance_rms_error_pass ... ok [INFO] [stdout] test film_grain::tests::test_zero_gain_leaves_frame_unchanged ... ok [INFO] [stdout] test film_grain::tests::test_different_frame_indices_differ ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_verification_suite_all_pass ... ok [INFO] [stdout] test film_grain::tests::test_same_frame_index_is_deterministic ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_verification_suite_summary_format ... ok [INFO] [stdout] test gpu_fence::tests::test_fence_status_is_complete_signalled ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_verification_suite_with_failure ... ok [INFO] [stdout] test gpu_fence::tests::test_fence_status_is_reusable_reset ... ok [INFO] [stdout] test gpu_fence::tests::test_gpu_fence_reset_clears_signal ... ok [INFO] [stdout] test gpu_fence::tests::test_gpu_fence_wait_timeout_sets_timed_out ... ok [INFO] [stdout] test gpu_fence::tests::test_gpu_fence_signal_sets_status ... ok [INFO] [stdout] test gpu_fence::tests::test_gpu_fence_new_pending ... ok [INFO] [stdout] test gpu_fence::tests::test_fence_status_is_reusable_signalled_false ... ok [INFO] [stdout] test film_grain::tests::test_grain_statistics_mean_near_zero ... ok [INFO] [stdout] test gpu_fence::tests::test_gpu_fence_wait_when_signalled_returns_true ... ok [INFO] [stdout] test gpu_fence::tests::test_gpu_fence_with_label ... ok [INFO] [stdout] test gpu_fence::tests::test_pool_completed_count_after_signal ... ok [INFO] [stdout] test gpu_fence::tests::test_pool_active_count_increments ... ok [INFO] [stdout] test gpu_fence::tests::test_pool_create_fence_pending ... ok [INFO] [stdout] test gpu_fence::tests::test_pool_return_fence_moves_to_free_list ... ok [INFO] [stdout] test gpu_fence::tests::test_pool_total_created_monotonic ... ok [INFO] [stdout] test gpu_profiler::tests::profiler_default_equals_new ... ok [INFO] [stdout] test gpu_profiler::tests::profiler_is_empty_initially ... ok [INFO] [stdout] test gpu_profiler::tests::profiler_begin_end_records_stats ... ok [INFO] [stdout] test gpu_profiler::tests::profiler_scope_count ... ok [INFO] [stdout] test gpu_profiler::tests::profiler_multiple_samples_accumulate ... ok [INFO] [stdout] test gpu_profiler::tests::profiler_scope_raii ... ok [INFO] [stdout] test gpu_profiler::tests::profiler_reset_clears_all ... ok [INFO] [stdout] test gpu_profiler::tests::profiler_end_unknown_label_no_panic ... ok [INFO] [stdout] test gpu_profiler::tests::scope_stats_min_max ... ok [INFO] [stdout] test gpu_profiler::tests::scope_stats_empty_mean_none ... ok [INFO] [stdout] test gpu_profiler::tests::timestamp_elapsed_us_some ... ok [INFO] [stdout] test gpu_profiler::tests::timestamp_begin_not_finished ... ok [INFO] [stdout] test gpu_profiler::tests::scope_stats_records_single ... ok [INFO] [stdout] test gpu_stats::tests::test_gpu_stat_is_percentage ... ok [INFO] [stdout] test gpu_profiler::tests::timestamp_elapsed_us_none_when_unfinished ... ok [INFO] [stdout] test gpu_stats::tests::test_gpu_stat_unit_memory ... ok [INFO] [stdout] test gpu_stats::tests::test_gpu_stat_unit_power ... ok [INFO] [stdout] test gpu_stats::tests::test_gpu_stat_is_thermal ... ok [INFO] [stdout] test gpu_stats::tests::test_gpu_stat_unit_temperature ... ok [INFO] [stdout] test gpu_stats::tests::test_gpu_stat_unit_utilization ... ok [INFO] [stdout] test gpu_stats::tests::test_sample_is_critical_at_threshold ... ok [INFO] [stdout] test gpu_stats::tests::test_sample_is_critical_false ... ok [INFO] [stdout] test gpu_stats::tests::test_sample_is_critical_true ... ok [INFO] [stdout] test gpu_profiler::tests::timestamp_finish_elapsed ... ok [INFO] [stdout] test gpu_stats::tests::test_stats_record_and_utilization_pct ... ok [INFO] [stdout] test gpu_stats::tests::test_stats_memory_pct ... ok [INFO] [stdout] test gpu_stats::tests::test_stats_peak_temperature ... ok [INFO] [stdout] test gpu_stats::tests::test_stats_sample_count ... ok [INFO] [stdout] test gpu_stats::tests::test_sample_headroom ... ok [INFO] [stdout] test gpu_stats::tests::test_stats_avg_power_draw ... ok [INFO] [stdout] test gpu_stats::tests::test_stats_utilization_pct_empty ... ok [INFO] [stdout] test gpu_timer::tests::test_frame_timer_basic ... ok [INFO] [stdout] test gpu_timer::tests::test_gpu_timer_disabled ... ok [INFO] [stdout] test gpu_timer::tests::test_frame_timer_clear ... ok [INFO] [stdout] test gpu_timer::tests::test_frame_timer_history_limit ... ok [INFO] [stdout] test gpu_timer::tests::test_frame_timer_no_begin ... ok [INFO] [stdout] test gpu_timer::tests::test_gpu_timer_create ... ok [INFO] [stdout] test gpu_timer::tests::test_gpu_timer_frame_cycle ... ok [INFO] [stdout] test gpu_timer::tests::test_gpu_timer_labels ... ok [INFO] [stdout] test gpu_timer::tests::test_gpu_timer_over_budget ... ok [INFO] [stdout] test gpu_timer::tests::test_gpu_timer_region ... ok [INFO] [stdout] test gpu_timer::tests::test_gpu_timer_reset ... ok [INFO] [stdout] test gpu_timer::tests::test_gpu_timer_stats_for_label ... ok [INFO] [stdout] test gpu_timer::tests::test_timer_region_label ... ok [INFO] [stdout] test gpu_timer::tests::test_gpu_timer_set_enabled ... ok [INFO] [stdout] test gpu_timer::tests::test_timer_region_start_stop ... ok [INFO] [stdout] test gpu_timer::tests::test_timing_stats_basic ... ok [INFO] [stdout] test histogram::tests::test_compute_mean_single_channel ... ok [INFO] [stdout] test gpu_timer::tests::test_timing_stats_empty ... ok [INFO] [stdout] test histogram::tests::test_compute_mean_rgb ... ok [INFO] [stdout] test gpu_timer::tests::test_timing_stats_mean_fps ... ok [INFO] [stdout] test gpu_timer::tests::test_timing_stats_single ... ok [INFO] [stdout] test histogram::tests::test_dominant_channel ... ok [INFO] [stdout] test histogram::tests::test_from_rgb_2x2 ... ok [INFO] [stdout] test histogram::tests::test_overexposed_detection ... ok [INFO] [stdout] test histogram::tests::test_entropy_two_equally_likely_values ... ok [INFO] [stdout] test histogram::tests::test_entropy_uniform_image_is_zero ... ok [INFO] [stdout] test histogram::tests::test_from_gray_single_channel ... ok [INFO] [stdout] test histogram::tests::test_normal_exposure_neither ... ok [INFO] [stdout] test histogram::tests::test_percentile_median ... ok [INFO] [stdout] test histogram::tests::test_std_dev_constant_image ... ok [INFO] [stdout] test histogram::tests::test_underexposed_detection ... ok [INFO] [stdout] test histogram::tests::test_underexposed_rgb_one_channel_low ... ok [INFO] [stdout] test histogram_equalization::tests::test_clahe_basic_8x8_tile ... ok [INFO] [stdout] test histogram_equalization::tests::test_clahe_empty_frame ... ok [INFO] [stdout] test histogram_equalization::tests::test_clahe_instance_method ... ok [INFO] [stdout] test histogram_equalization::tests::test_clahe_config_defaults ... ok [INFO] [stdout] test histogram_equalization::tests::test_clahe_mild_clip ... ok [INFO] [stdout] test histogram_equalization::tests::test_clahe_preserves_size ... ok [INFO] [stdout] test histogram_equalization::tests::test_clahe_strong_clip ... ok [INFO] [stdout] test histogram_equalization::tests::test_clahe_tile_size_zero_returns_unchanged ... ok [INFO] [stdout] test histogram_equalization::tests::test_equalize_luma_all_same_value_unchanged ... ok [INFO] [stdout] test histogram_equalization::tests::test_equalization_stats_compute ... ok [INFO] [stdout] test histogram_equalization::tests::test_equalization_stats_empty ... ok [INFO] [stdout] test histogram_equalization::tests::test_equalize_luma_all_zeros ... ok [INFO] [stdout] test gpu_cpu_verify::tests::test_diff_histogram_correct ... ok [INFO] [stdout] test gpu_fence::tests::test_fence_status_is_complete_pending_false ... ok [INFO] [stdout] test histogram_equalization::tests::test_equalize_luma_instance_method ... ok [INFO] [stdout] test histogram_equalization::tests::test_equalize_luma_preserves_size ... ok [INFO] [stdout] test histogram_equalization::tests::test_equalize_luma_already_equalized ... ok [INFO] [stdout] test histogram_equalization::tests::test_equalize_luma_ramp_spreads_contrast ... ok [INFO] [stdout] test histogram_equalization::tests::test_equalize_luma_empty ... ok [INFO] [stdout] test histogram_equalization::tests::test_equalize_luma_single_pixel ... ok [INFO] [stdout] test histogram_equalization::tests::test_equalize_luma_two_value_image ... ok [INFO] [stdout] test indirect_dispatch::tests::test_compute_dispatch_linear ... ok [INFO] [stdout] test histogram_equalization::tests::test_clahe_tile_size_larger_than_image_falls_back ... ok [INFO] [stdout] test indirect_dispatch::tests::test_compute_dispatch_tiled ... ok [INFO] [stdout] test indirect_dispatch::tests::test_compute_dispatch_volumetric ... ok [INFO] [stdout] test indirect_dispatch::tests::test_dispatch_args_one_d ... ok [INFO] [stdout] test indirect_dispatch::tests::test_dispatch_args_new ... ok [INFO] [stdout] test indirect_dispatch::tests::test_indirect_buffer_new ... ok [INFO] [stdout] test indirect_dispatch::tests::test_display ... ok [INFO] [stdout] test indirect_dispatch::tests::test_to_from_bytes_roundtrip ... ok [INFO] [stdout] test indirect_dispatch::tests::test_indirect_buffer_update ... ok [INFO] [stdout] test indirect_dispatch::tests::test_is_valid ... ok [INFO] [stdout] test indirect_dispatch::tests::test_total_workgroups ... ok [INFO] [stdout] test indirect_dispatch::tests::test_validate_dispatch_limits_exceeded ... ok [INFO] [stdout] test indirect_dispatch::tests::test_validate_dispatch_limits_ok ... ok [INFO] [stdout] test kernel::tests::test_cache_add_and_count ... ok [INFO] [stdout] test kernel::tests::test_cache_empty_memory_estimate ... ok [INFO] [stdout] test kernel::tests::test_cache_find_existing ... ok [INFO] [stdout] test kernel::tests::test_cache_find_missing ... ok [INFO] [stdout] test kernel::tests::test_color_convert_workgroup ... ok [INFO] [stdout] test kernel::tests::test_estimated_flops_denoise_greater_than_histogram ... ok [INFO] [stdout] test kernel::tests::test_estimated_flops_positive ... ok [INFO] [stdout] test kernel::tests::test_histogram_workgroup ... ok [INFO] [stdout] test kernel::tests::test_no_shared_memory_sharpen ... ok [INFO] [stdout] test kernel::tests::test_motion_estimate_workgroup ... ok [INFO] [stdout] test kernel::tests::test_kernel_spec_new ... ok [INFO] [stdout] test kernel::tests::test_no_shared_memory_video_scale ... ok [INFO] [stdout] test kernel::tests::test_requires_shared_memory_histogram ... ok [INFO] [stdout] test kernel::tests::test_requires_shared_memory_motion ... ok [INFO] [stdout] test kernel::tests::test_total_elements ... ok [INFO] [stdout] test kernel::tests::test_total_elements_zero_width ... ok [INFO] [stdout] test indirect_dispatch::tests::test_default_dispatch_args ... ok [INFO] [stdout] test kernel::tests::test_video_scale_workgroup ... ok [INFO] [stdout] test kernel_scheduler::tests::test_add_dependency_unknown_dependent ... ok [INFO] [stdout] test kernel_scheduler::tests::test_add_duplicate_kernel_error ... ok [INFO] [stdout] test kernel_scheduler::tests::test_add_dependency_cycle_detected ... ok [INFO] [stdout] test kernel::tests::test_cache_memory_estimate_nonzero ... ok [INFO] [stdout] test kernel_scheduler::tests::test_add_kernel_and_count ... ok [INFO] [stdout] test kernel_scheduler::tests::test_dependencies_of ... ok [INFO] [stdout] test kernel_scheduler::tests::test_add_dependency_unknown_dependency ... ok [INFO] [stdout] test kernel_scheduler::tests::test_kernel_spec_total_threads ... ok [INFO] [stdout] test kernel_scheduler::tests::test_dependencies_of_no_deps ... ok [INFO] [stdout] test kernel::tests::test_cache_find_first_match ... ok [INFO] [stdout] test indirect_dispatch::tests::test_from_bytes_too_short ... ok [INFO] [stdout] test kernel_scheduler::tests::test_occupancy_full ... ok [INFO] [stdout] test kernel_scheduler::tests::test_kernel_spec_zero_work_groups ... ok [INFO] [stdout] test kernel_scheduler::tests::test_launch_order_independent_kernels_sorted_by_id ... ok [INFO] [stdout] test kernel_scheduler::tests::test_launch_order_diamond ... ok [INFO] [stdout] test kernel_scheduler::tests::test_launch_order_linear_chain ... ok [INFO] [stdout] test kernel_scheduler::tests::test_launch_order_single_kernel ... ok [INFO] [stdout] test kernel_scheduler::tests::test_occupancy_capped_at_sm_limit ... ok [INFO] [stdout] test kernel_scheduler::tests::test_occupancy_partial ... ok [INFO] [stdout] test kernel_scheduler::tests::test_scheduler_occupancy ... ok [INFO] [stdout] test kernel_scheduler::tests::test_scheduler_occupancy_unknown_kernel ... ok [INFO] [stdout] test kernel_scheduler::tests::test_simulate_warp_stats_overflow_clamps ... ok [INFO] [stdout] test kernel_scheduler::tests::test_simulate_warp_stats_basic ... ok [INFO] [stdout] test kernel_scheduler::tests::test_warp_stats_utilisation_half ... ok [INFO] [stdout] test kernel_scheduler::tests::test_warp_stats_utilisation_all_active ... ok [INFO] [stdout] test kernels::color::tests::test_apply_3d_black_white ... ok [INFO] [stdout] test kernels::color::tests::test_apply_1d_identity ... ok [INFO] [stdout] test kernel_scheduler::tests::test_warp_stats_zero_warps ... ok [INFO] [stdout] test kernels::color::tests::test_color_conversion_kernel ... ok [INFO] [stdout] test kernels::color::tests::test_color_space_properties ... ok [INFO] [stdout] test kernels::color::tests::test_apply_1d_invert ... ok [INFO] [stdout] test kernels::filter::tests::test_convolution_kernel_creation ... ok [INFO] [stdout] test kernels::filter::tests::test_filter_kernel_creation ... ok [INFO] [stdout] test kernels::color::tests::test_apply_3d_identity ... ok [INFO] [stdout] test kernels::filter::tests::test_separable_filter ... ok [INFO] [stdout] test kernels::color::tests::test_flops_estimation ... ok [INFO] [stdout] test kernels::reduce::tests::test_flops_estimation ... ok [INFO] [stdout] test kernels::filter::tests::test_box_blur_kernel ... ok [INFO] [stdout] test kernels::reduce::tests::test_histogram_kernel_execute_direct ... ok [INFO] [stdout] test kernels::reduce::tests::test_histogram_kernel ... ok [INFO] [stdout] test accelerator::tests::test_cpu_dct_idct_roundtrip ... ok [INFO] [stdout] test kernels::reduce::tests::test_f32_count_nonzero_direct ... ok [INFO] [stdout] test buffer_pool::tests::test_pool_new_empty ... ok [INFO] [stdout] test kernels::reduce::tests::test_image_stats ... ok [INFO] [stdout] test kernels::reduce::tests::test_reduce_kernel_passes ... ok [INFO] [stdout] test buffer_pool::tests::test_pool_release_unknown_id ... ok [INFO] [stdout] test color_convert_kernel::tests::test_limited_to_full_y_black ... ok [INFO] [stdout] test compute_dispatch::tests::test_total_workgroups ... ok [INFO] [stdout] test fence_pool::tests::test_auto_grow ... ok [INFO] [stdout] test kernels::reduce::tests::test_reduce_operation_properties ... ok [INFO] [stdout] test kernels::reduce::tests::test_scan_kernel ... ok [INFO] [stdout] test kernels::reduce::tests::test_scan_exclusive_direct ... ok [INFO] [stdout] test kernels::reduce::tests::test_scan_inclusive_direct ... ok [INFO] [stdout] test kernels::reduce::tests::test_u8_histogram_direct ... ok [INFO] [stdout] test buffer_pool::tests::test_pool_get_mut_write ... ok [INFO] [stdout] test kernels::resize::tests::test_output_size_calculation ... ok [INFO] [stdout] test kernels::reduce::tests::test_u8_sum_direct ... ok [INFO] [stdout] test kernels::transform::tests::test_affine_matrix_identity ... ok [INFO] [stdout] test memory::tests::test_memory_allocator_tracking ... ignored [INFO] [stdout] test kernels::transform::tests::test_affine_matrix_translation ... ok [INFO] [stdout] test kernels::transform::tests::test_flops_estimation ... ok [INFO] [stdout] test memory::tests::test_memory_stats ... ok [INFO] [stdout] test memory::tests::test_memory_allocator_tracking_no_gpu ... ok [INFO] [stdout] test memory_pool::tests::test_alignment_as_usize ... ok [INFO] [stdout] test memory_pool::tests::test_alloc_and_free_stats ... ok [INFO] [stdout] test memory_pool::tests::test_alignment_align_up ... ok [INFO] [stdout] test memory_pool::tests::test_compact_returns_plan ... ok [INFO] [stdout] test memory_pool::tests::test_defragment_coalesces_ranges ... ok [INFO] [stdout] test kernels::reduce::tests::test_stats_channels_direct ... ok [INFO] [stdout] test kernels::reduce::tests::test_stats_direct ... ok [INFO] [stdout] test kernels::resize::tests::test_flops_estimation ... ok [INFO] [stdout] test kernels::resize::tests::test_resize_filter_properties ... ok [INFO] [stdout] test kernels::transform::tests::test_affine_matrix_combination ... ok [INFO] [stdout] test kernels::transform::tests::test_affine_matrix_scaling ... ok [INFO] [stdout] test kernels::transform::tests::test_transform_kernel_creation ... ok [INFO] [stdout] test memory_pool::tests::test_block_coalescing_after_free ... ok [INFO] [stdout] test memory_pool::tests::test_compact_identifies_sparse_blocks ... ok [INFO] [stdout] test memory_pool::tests::test_alloc_id_increments ... ok [INFO] [stdout] test memory_pool::tests::test_defragment_empty_pool ... ok [INFO] [stdout] test memory_pool::tests::test_fragmentation_ratio_with_holes ... ok [INFO] [stdout] test memory_pool::tests::test_free_bytes_decreases_after_alloc ... ok [INFO] [stdout] test memory_pool::tests::test_multiple_allocs_same_block ... ok [INFO] [stdout] test memory_pool::tests::test_pool_stats_utilisation ... ok [INFO] [stdout] test memory_pool::tests::test_new_block_created_when_full ... ok [INFO] [stdout] test memory_pool::tests::test_shrink_removes_empty_blocks ... ok [INFO] [stdout] test kernels::reduce::tests::test_f32_minmax_direct ... ok [INFO] [stdout] test memory_pool::tests::test_reset_clears_all ... ok [INFO] [stdout] test memory_pool::tests::test_stats_free_bytes ... ok [INFO] [stdout] test memory_pool::tests::test_zero_size_alloc_returns_none ... ok [INFO] [stdout] test mipmap_gen::tests::test_compute_mip_count_nonsquare ... ok [INFO] [stdout] test memory_pool::tests::test_simple_alloc ... ok [INFO] [stdout] test mipmap_gen::tests::test_compute_mip_count_one ... ok [INFO] [stdout] test mipmap_gen::tests::test_compute_mip_count_square ... ok [INFO] [stdout] test mipmap_gen::tests::test_compute_mip_count_zero ... ok [INFO] [stdout] test mipmap_gen::tests::test_downsample_box_u8_gradient ... ok [INFO] [stdout] test mipmap_gen::tests::test_downsample_box_u8_simple ... ok [INFO] [stdout] test memory_pool::tests::test_defragment_removes_empty_blocks ... ok [INFO] [stdout] test memory_pool::tests::test_defragment_updates_stats ... ok [INFO] [stdout] test memory_pool::tests::test_fragmentation_ratio_no_fragmentation ... ok [INFO] [stdout] test mipmap_gen::tests::test_generate_mip_chain_u8 ... ok [INFO] [stdout] test mipmap_gen::tests::test_mip_chain_compute ... ok [INFO] [stdout] test mipmap_gen::tests::test_mip_chain_is_single_level ... ok [INFO] [stdout] test mipmap_gen::tests::test_mip_chain_max_levels ... ok [INFO] [stdout] test mipmap_gen::tests::test_mip_chain_offsets ... ok [INFO] [stdout] test film_grain::tests::test_apply_rgba_large_frame ... ok [INFO] [stdout] test mipmap_gen::tests::test_mip_chain_total_size ... ok [INFO] [stdout] test mipmap_gen::tests::test_mip_dimension ... ok [INFO] [stdout] test motion_detect::tests::test_below_threshold_not_detected ... ok [INFO] [stdout] test mipmap_gen::tests::test_mip_level_pixel_count ... ok [INFO] [stdout] test motion_detect::tests::test_identical_frames_returns_no_motion ... ok [INFO] [stdout] test motion_detect::tests::test_first_frame_returns_no_motion ... ok [INFO] [stdout] test motion_detect::tests::test_invalid_dimensions ... ok [INFO] [stdout] test motion_detect::tests::test_different_frames_returns_motion ... ok [INFO] [stdout] test motion_detect::tests::test_region_count ... ok [INFO] [stdout] test motion_detect::tests::test_sensitivity_thresholds ... ok [INFO] [stdout] test motion_detect::tests::test_reset_clears_previous_frame ... ok [INFO] [stdout] test mipmap_gen::tests::test_mip_level_display ... ok [INFO] [stdout] test motion_estimation::tests::test_buffer_too_small_rejected ... ok [INFO] [stdout] test motion_estimation::tests::test_subpixel_refinement_absent_when_disabled ... ok [INFO] [stdout] test motion_estimation::tests::test_subpixel_refinement_present ... ok [INFO] [stdout] test motion_estimation::tests::test_estimator_default_config ... ok [INFO] [stdout] test motion_estimation::tests::test_vp9_default_config ... ok [INFO] [stdout] test motion_estimation::tests::test_invalid_dimensions_rejected ... ok [INFO] [stdout] test motion_estimation::tests::test_mean_mv_magnitude_zero_for_static ... ok [INFO] [stdout] test multi_gpu::tests::test_empty_device_list_is_error ... ok [INFO] [stdout] test multi_gpu::tests::test_device_ema_update ... ok [INFO] [stdout] test occupancy::tests::test_estimate_bandwidth ... ok [INFO] [stdout] test occupancy::tests::test_estimate_bandwidth_clamping ... ok [INFO] [stdout] test occupancy::tests::test_find_optimal_block_size ... ok [INFO] [stdout] test occupancy::tests::test_gpu_spec_high_end ... ok [INFO] [stdout] test occupancy::tests::test_gpu_spec_integrated ... ok [INFO] [stdout] test occupancy::tests::test_gpu_spec_mid_range ... ok [INFO] [stdout] test occupancy::tests::test_kernel_resources_simple ... ok [INFO] [stdout] test occupancy::tests::test_occupancy_heavy_shared_memory ... ok [INFO] [stdout] test occupancy::tests::test_occupancy_heavy_registers ... ok [INFO] [stdout] test occupancy::tests::test_occupancy_limit_display ... ok [INFO] [stdout] test occupancy::tests::test_occupancy_simple_kernel ... ok [INFO] [stdout] test occupancy::tests::test_occupancy_zero_threads ... ok [INFO] [stdout] test occupancy::tests::test_performance_tip_creation ... ok [INFO] [stdout] test occupancy::tests::test_performance_tips_good_occupancy ... ok [INFO] [stdout] test occupancy::tests::test_performance_tips_low_occupancy ... ok [INFO] [stdout] test ops::chroma::tests::test_420_black ... ok [INFO] [stdout] test ops::chroma::tests::test_420_odd_dimensions ... ok [INFO] [stdout] test ops::chroma::tests::test_420_output_size ... ok [INFO] [stdout] test ops::chroma::tests::test_420_roundtrip_gradient ... ok [INFO] [stdout] test ops::chroma::tests::test_420_roundtrip_grey ... ok [INFO] [stdout] test ops::chroma::tests::test_422_odd_width ... ok [INFO] [stdout] test ops::chroma::tests::test_422_output_size ... ok [INFO] [stdout] test ops::chroma::tests::test_420_white ... ok [INFO] [stdout] test motion_estimation::tests::test_zero_mv_for_identical_frames ... ok [INFO] [stdout] test ops::chroma::tests::test_422_roundtrip_gradient ... ok [INFO] [stdout] test motion_estimation::tests::test_blocks_dimensions ... ok [INFO] [stdout] test motion_estimation::tests::test_mv_detected_for_shifted_frame ... ok [INFO] [stdout] test ops::chroma::tests::test_inverse_buffer_too_small ... ok [INFO] [stdout] test ops::chroma::tests::test_buffer_too_small ... ok [INFO] [stdout] test ops::chroma::tests::test_output_size_420 ... ok [INFO] [stdout] test ops::chroma::tests::test_output_size_422 ... ok [INFO] [stdout] test ops::chroma::tests::test_zero_dimensions ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt2020_red_luma ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt2020_roundtrip_colour ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt2020_roundtrip_white ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt2020_vs_bt601_luma_differ_for_red ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt2020_white_rgb_to_ycbcr ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_black_rgb_to_ycbcr ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_blue_rgb_to_ycbcr ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_cpu_vs_reference_batch ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_deterministic ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_green_rgb_to_ycbcr ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_red_rgb_to_ycbcr ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_reference_vectors ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_roundtrip_black ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_roundtrip_grey128 ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_roundtrip_white ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_vs_bt709_differ_for_primaries ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt601_white_rgb_to_ycbcr ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt709_batch_roundtrip_within_tolerance ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt709_black_rgb_to_ycbcr ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt709_red_rgb_to_ycbcr ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt709_reference_vectors ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt709_roundtrip_black ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt709_roundtrip_white ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt709_roundtrip_colour ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt709_white_rgb_to_ycbcr ... ok [INFO] [stdout] test ops::colorspace::tests::test_grey_axis_chroma_neutral_all_standards ... ok [INFO] [stdout] test ops::colorspace::tests::test_hlg_oetf_range ... ok [INFO] [stdout] test ops::colorspace::tests::test_hlg_oetf_zero ... ok [INFO] [stdout] test ops::colorspace::tests::test_hlg_roundtrip ... ok [INFO] [stdout] test ops::colorspace::tests::test_pq_oetf_one ... ok [INFO] [stdout] test ops::colorspace::tests::test_pq_oetf_zero ... ok [INFO] [stdout] test ops::colorspace::tests::test_pq_roundtrip ... ok [INFO] [stdout] test ops::composite::tests::test_blend_layer_dimension_mismatch ... ok [INFO] [stdout] test ops::composite::tests::test_blend_layer_invalid_opacity ... ok [INFO] [stdout] test ops::composite::tests::test_blend_multiply_two_identical_layers ... ok [INFO] [stdout] test ops::composite::tests::test_blend_overlay_mode ... ok [INFO] [stdout] test ops::composite::tests::test_blend_single_fully_opaque_layer ... ok [INFO] [stdout] test ops::composite::tests::test_blend_screen_mode ... ok [INFO] [stdout] test ops::composite::tests::test_blend_zero_layers_produces_black ... ok [INFO] [stdout] test ops::composite::tests::test_color_burn_black_src_yields_zero ... ok [INFO] [stdout] test ops::composite::tests::test_blend_two_layers_normal_over ... ok [INFO] [stdout] test ops::composite::tests::test_color_burn_white_src_yields_dst ... ok [INFO] [stdout] test ops::composite::tests::test_color_dodge_black_src_yields_dst ... ok [INFO] [stdout] test ops::composite::tests::test_color_dodge_white_src_yields_one ... ok [INFO] [stdout] test ops::chroma::tests::test_422_roundtrip_grey ... ok [INFO] [stdout] test ops::composite::tests::test_exclusion_midpoint_yields_zero_five ... ok [INFO] [stdout] test ops::composite::tests::test_exclusion_with_black_src_yields_dst ... ok [INFO] [stdout] test ops::composite::tests::test_color_dodge_blend_layers_brightens ... ok [INFO] [stdout] test ops::composite::tests::test_hard_light_black_src_yields_zero ... ok [INFO] [stdout] test ops::composite::tests::test_hard_light_white_src_yields_screen_like_max ... ok [INFO] [stdout] test ops::composite::tests::test_hard_light_with_mid_grey_src ... ok [INFO] [stdout] test ops::composite::tests::test_linear_burn_normal_case ... ok [INFO] [stdout] test ops::composite::tests::test_linear_burn_saturates_to_zero ... ok [INFO] [stdout] test ops::composite::tests::test_exclusion_blend_layers_round_trip ... ok [INFO] [stdout] test ops::composite::tests::test_hard_light_blend_layers_round_trip ... ok [INFO] [stdout] test ops::chroma::tests::test_bt2020_roundtrip ... ok [INFO] [stdout] test ops::composite::tests::test_overlay_midpoint ... ok [INFO] [stdout] test ops::composite::tests::test_screen_blend_identity ... ok [INFO] [stdout] test ops::denoise::tests::test_bilateral_denoise_params_struct_size ... ok [INFO] [stdout] test ops::composite::tests::test_multiply_blend_zero ... ok [INFO] [stdout] test ops::denoise::tests::test_denoise_kernel_gaussian ... ok [INFO] [stdout] test ops::denoise::tests::test_denoise_kernel_nlm ... ok [INFO] [stdout] test ops::denoise::tests::test_denoise_kernel_bilateral ... ok [INFO] [stdout] test ops::denoise::tests::test_estimate_gflops_not_zero ... ok [INFO] [stdout] test ops::denoise::tests::test_bilateral_denoise_cpu_constant ... ok [INFO] [stdout] test ops::denoise::tests::test_gaussian_denoise_cpu_noisy ... ok [INFO] [stdout] test ops::denoise::tests::test_nlm_denoise_cpu_constant ... ok [INFO] [stdout] test ops::denoise::tests::test_nlm_denoise_invalid_h ... ok [INFO] [stdout] test ops::filter::tests::test_blur_reduces_contrast ... ok [INFO] [stdout] test ops::filter::tests::test_blur_single_pixel_passthrough ... ok [INFO] [stdout] test ops::filter::tests::test_blur_size_mismatch_returns_error ... ok [INFO] [stdout] test ops::filter::tests::test_kernel_center_is_largest ... ok [INFO] [stdout] test ops::denoise::tests::test_gaussian_denoise_cpu_constant_image ... ok [INFO] [stdout] test ops::filter::tests::test_blur_uniform_image_unchanged ... ok [INFO] [stdout] test ops::filter::tests::test_kernel_sums_to_one ... ok [INFO] [stdout] test ops::filter::tests::test_kernel_is_symmetric ... ok [INFO] [stdout] test ops::filter::tests::test_max_channel_diff_identical ... ok [INFO] [stdout] test ops::filter::tests::test_kernel_negative_sigma_returns_identity ... ok [INFO] [stdout] test ops::filter::tests::test_kernel_zero_sigma_returns_identity ... ok [INFO] [stdout] test ops::colorspace::tests::test_bt2020_black_rgb_to_ycbcr ... ok [INFO] [stdout] test ops::filter::tests::test_max_channel_diff_known_values ... ok [INFO] [stdout] test ops::filter::tests::test_parallel_blur_reduces_contrast ... ok [INFO] [stdout] test ops::filter::tests::test_parallel_blur_single_pixel_passthrough ... ok [INFO] [stdout] test ops::filter::tests::test_parallel_blur_matches_serial_random_image ... ok [INFO] [stdout] test ops::filter::tests::test_parallel_blur_matches_serial_uniform_image ... ok [INFO] [stdout] test ops::filter::tests::test_parallel_blur_large_sigma_heavy_smoothing ... ok [INFO] [stdout] test ops::filter::tests::test_parallel_blur_size_mismatch_returns_error ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_clip_limit_preserves_total ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_equalize_alpha_passthrough_luma ... ok [INFO] [stdout] test ops::filter::tests::test_parallel_blur_tall_image ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_equalize_alpha_passthrough_per_channel ... ok [INFO] [stdout] test ops::filter::tests::test_parallel_blur_wide_image ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_equalize_buffer_too_small ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_equalize_invalid_dimensions ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_clip_limit_zero_no_change ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_luma_black ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_equalize_per_channel ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_luma_pure_green ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_luma_pure_red ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_equalize_gradient_luma_monotone ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_equalize_constant_image_luma ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_luma_white ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_lut_single_value_histogram ... ok [INFO] [stdout] test ops::histogram_eq::tests::test_lut_uniform_histogram ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_downsample_2x_preserves_solid ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_gaussian_kernel_center_is_maximum ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_gaussian_kernel_symmetric ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_downsample_2x_size ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_gaussian_kernel_sums_to_one ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_psnr_buffer_size_mismatch ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_psnr_different_images ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_psnr_gradient_self ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_psnr_high_difference ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_psnr_identical_images ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_psnr_zero_dimensions ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_ssim_buffer_mismatch ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_ssim_identical_images ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_ms_ssim_small_image ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_ms_ssim_identical ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_ms_ssim_different ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_ssim_small_image_fallback ... ok [INFO] [stdout] test ops::scale::tests::test_bilinear_downscale_checkerboard_average ... ok [INFO] [stdout] test ops::scale::tests::test_bilinear_downscale_uniform_stable ... ok [INFO] [stdout] test ops::scale::tests::test_lanczos3_1x1_identity ... ok [INFO] [stdout] test ops::scale::tests::test_lanczos3_black_white_border ... ok [INFO] [stdout] test ops::scale::tests::test_lanczos3_gradient_downscale_monotone ... ok [INFO] [stdout] test ops::scale::tests::test_lanczos3_output_size_correct ... ok [INFO] [stdout] test ops::scale::tests::test_lanczos3_uniform_downscale_preserves_colour ... ok [INFO] [stdout] test ops::scale::tests::test_lanczos3_uniform_upscale_preserves_colour ... ok [INFO] [stdout] test ops::tonemap::tests::test_aces_output_clamped ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_ssim_slightly_different ... ok [INFO] [stdout] test ops::tonemap::tests::test_apply_gamma_clamps_above_one ... ok [INFO] [stdout] test ops::tonemap::tests::test_apply_gamma_clamps_below_zero ... ok [INFO] [stdout] test ops::tonemap::tests::test_apply_gamma_identity_at_one ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_ssim_per_channel ... ok [INFO] [stdout] test ops::tonemap::tests::test_apply_tonemap_frame_rgba_alpha_preserved ... ok [INFO] [stdout] test ops::tonemap::tests::test_drago_output_range ... ok [INFO] [stdout] test ops::tonemap::tests::test_drago_zero_input ... ok [INFO] [stdout] test ops::tonemap::tests::test_hable_unity_exposure ... ok [INFO] [stdout] test ops::tonemap::tests::test_reinhard_half_input ... ok [INFO] [stdout] test ops::tonemap::tests::test_reinhard_large_input_approaches_one ... ok [INFO] [stdout] test ops::tonemap::tests::test_reinhard_zero ... ok [INFO] [stdout] test ops::transform::tests::test_lens_undistort_invalid_dims_return_error ... ok [INFO] [stdout] test ops::transform::tests::test_lens_undistort_no_distortion_identity ... ok [INFO] [stdout] test ops::transform::tests::test_lens_undistort_preserves_centre_pixel ... ok [INFO] [stdout] test ops::transform::tests::test_perspective_identity_project ... ok [INFO] [stdout] test ops::transform::tests::test_perspective_inverse_is_correct ... ok [INFO] [stdout] test ops::transform::tests::test_perspective_singular_returns_none_inverse ... ok [INFO] [stdout] test ops::tonemap::tests::test_aces_zero ... ok [INFO] [stdout] test ops::transform::tests::test_perspective_warp_identity_preserves_image ... ok [INFO] [stdout] test ops::transform::tests::test_perspective_translation ... ok [INFO] [stdout] test ops::transform::tests::test_perspective_warp_out_of_bounds_uses_fill ... ok [INFO] [stdout] test optical_flow::tests::test_buffer_size_mismatch_rejected ... ok [INFO] [stdout] test optical_flow::tests::test_flow_field_get_oob_returns_none ... ok [INFO] [stdout] test optical_flow::tests::test_flow_field_zeros ... ok [INFO] [stdout] test optical_flow::tests::test_flow_vector_magnitude ... ok [INFO] [stdout] test optical_flow::tests::test_invalid_dimensions_rejected ... ok [INFO] [stdout] test optical_flow::tests::test_pyramid_dims_decreasing ... ok [INFO] [stdout] test ops::quality_metrics::tests::test_ssim_very_different_images ... ok [INFO] [stdout] test optical_flow::tests::test_warp_frame_identity ... ok [INFO] [stdout] test perspective_transform::tests::test_barrel_pincushion_differ ... ok [INFO] [stdout] test perspective_transform::tests::test_compose ... ok [INFO] [stdout] test perspective_transform::tests::test_identity_apply ... ok [INFO] [stdout] test perspective_transform::tests::test_identity_warp_preserves_size ... ok [INFO] [stdout] test perspective_transform::tests::test_inverse_of_identity ... ok [INFO] [stdout] test perspective_transform::tests::test_no_distortion_identity ... ok [INFO] [stdout] test perspective_transform::tests::test_rotation_preserves_magnitude ... ok [INFO] [stdout] test perspective_transform::tests::test_scale_apply ... ok [INFO] [stdout] test optical_flow::tests::test_static_scene_zero_flow ... ok [INFO] [stdout] test perspective_transform::tests::test_singular_homography_rejected ... ok [INFO] [stdout] test perspective_transform::tests::test_singular_inverse_returns_none ... ok [INFO] [stdout] test perspective_transform::tests::test_undistort_rgba_correct_size ... ok [INFO] [stdout] test perspective_transform::tests::test_undistort_rgba_wrong_size_rejected ... ok [INFO] [stdout] test perspective_transform::tests::test_warp_wrong_size_rejected ... ok [INFO] [stdout] test pipeline::tests::test_activate_deactivate ... ok [INFO] [stdout] test perspective_transform::tests::test_translation_roundtrip ... ok [INFO] [stdout] test pipeline::tests::test_add_node_returns_id ... ok [INFO] [stdout] test pipeline::tests::test_batcher_batched_accumulates_before_flush ... ok [INFO] [stdout] test pipeline::tests::test_batcher_batched_two_batches ... ok [INFO] [stdout] test pipeline::tests::test_batcher_debug_fmt ... ok [INFO] [stdout] test pipeline::tests::test_batcher_deferred_does_not_auto_flush ... ok [INFO] [stdout] test pipeline::tests::test_batcher_eager_each_barrier_is_one_flush ... ok [INFO] [stdout] test pipeline::tests::test_batcher_eager_flushes_immediately ... ok [INFO] [stdout] test pipeline::tests::test_batcher_empty_flush_does_nothing ... ok [INFO] [stdout] test pipeline::tests::test_batcher_manual_flush_clears_pending ... ok [INFO] [stdout] test pipeline::tests::test_batcher_mixed_kinds_tracked_separately ... ok [INFO] [stdout] test pipeline::tests::test_batcher_strategy_accessor ... ok [INFO] [stdout] test pipeline::tests::test_connect_cycle_detected ... ok [INFO] [stdout] test pipeline::tests::test_connect_duplicate_edge_err ... ok [INFO] [stdout] test pipeline::tests::test_connect_missing_node_err ... ok [INFO] [stdout] test pipeline::tests::test_connect_nodes_ok ... ok [INFO] [stdout] test pipeline::tests::test_connect_self_loop_err ... ok [INFO] [stdout] test pipeline::tests::test_metrics_drop_rate ... ok [INFO] [stdout] test pipeline::tests::test_metrics_record_frame ... ok [INFO] [stdout] test pipeline::tests::test_pipeline_new_is_empty ... ok [INFO] [stdout] test pipeline::tests::test_port_counts_updated ... ok [INFO] [stdout] test pipeline::tests::test_stage_display ... ok [INFO] [stdout] test pipeline::tests::test_validate_empty_err ... ok [INFO] [stdout] test pipeline::tests::test_validate_single_node_ok ... ok [INFO] [stdout] test pipeline_cache::tests::test_clear_resets_state ... ok [INFO] [stdout] test pipeline_cache::tests::test_different_keys_stored_separately ... ok [INFO] [stdout] test pipeline_cache::tests::test_empty_binary_cached ... ok [INFO] [stdout] test pipeline_cache::tests::test_get_or_create_miss_then_hit ... ok [INFO] [stdout] test pipeline_cache::tests::test_hit_ratio_calculation ... ok [INFO] [stdout] test pipeline_cache::tests::test_hit_ratio_no_lookups_returns_zero ... ok [INFO] [stdout] test pipeline_cache::tests::test_invalidate_removes_entry ... ok [INFO] [stdout] test pipeline_stages::tests::test_color_convert_identity ... ok [INFO] [stdout] test pipeline_stages::tests::test_color_convert_rgba_to_bgra_swap ... ok [INFO] [stdout] test pipeline_stages::tests::test_color_convert_rgba_to_gray ... ok [INFO] [stdout] test pipeline_stages::tests::test_gaussian_blur_constant_gray ... ok [INFO] [stdout] test pipeline_stages::tests::test_gaussian_blur_wrong_size ... ok [INFO] [stdout] test pipeline_stages::tests::test_grayscale_format ... ok [INFO] [stdout] test pipeline_stages::tests::test_grayscale_white ... ok [INFO] [stdout] test pipeline_stages::tests::test_overlay_transparent_overlay ... ok [INFO] [stdout] test pipeline_stages::tests::test_pipeline_empty_passthrough ... ok [INFO] [stdout] test pipeline_stages::tests::test_pipeline_add_stage_format_mismatch ... ok [INFO] [stdout] test pipeline_stages::tests::test_pipeline_full_rgba_to_binary ... ok [INFO] [stdout] test pipeline_stages::tests::test_pipeline_stage_count ... ok [INFO] [stdout] test pipeline_stages::tests::test_pipeline_validate_ok ... ok [INFO] [stdout] test pipeline_stages::tests::test_pixel_format_display ... ok [INFO] [stdout] test pipeline_stages::tests::test_sobel_flat_is_zero ... ok [INFO] [stdout] test pipeline_stages::tests::test_sobel_output_format ... ok [INFO] [stdout] test pipeline_stages::tests::test_threshold_binary ... ok [INFO] [stdout] test queue::tests::test_batch_submitter ... ok [INFO] [stdout] test queue::tests::test_queue_type ... ok [INFO] [stdout] test readback::tests::test_download_identity ... ok [INFO] [stdout] test readback::tests::test_download_region_basic ... ok [INFO] [stdout] test readback::tests::test_download_region_zero_dimensions ... ok [INFO] [stdout] test readback::tests::test_download_short_slice_returns_available_bytes ... ok [INFO] [stdout] test readback::tests::test_download_truncates_to_expected_len ... ok [INFO] [stdout] test readback::tests::test_expected_len ... ok [INFO] [stdout] test readback::tests::test_split_channels_correctness ... ok [INFO] [stdout] test readback::tests::test_split_channels_multiple_pixels ... ok [INFO] [stdout] test readback::tests::test_validate_size_wrong ... ok [INFO] [stdout] test render_pass::tests::test_attachment_config_has_depth_true ... ok [INFO] [stdout] test render_pass::tests::test_attachment_config_not_multisampled_by_default ... ok [INFO] [stdout] test render_pass::tests::test_attachment_config_with_sample_count ... ok [INFO] [stdout] test ops::tonemap::tests::test_apply_tonemap_frame_reinhard_rgb ... ok [INFO] [stdout] test render_pass::tests::test_attachment_format_bytes_per_texel_rgba32 ... ok [INFO] [stdout] test render_pass::tests::test_attachment_format_has_depth_depth32 ... ok [INFO] [stdout] test render_pass::tests::test_attachment_format_has_stencil_depth24 ... ok [INFO] [stdout] test render_pass::tests::test_attachment_format_rgba8_no_depth ... ok [INFO] [stdout] test render_pass::tests::test_load_op_clear_does_not_preserve ... ok [INFO] [stdout] test render_pass::tests::test_load_op_preserves_content_load ... ok [INFO] [stdout] test render_pass::tests::test_render_pass_builder_build_no_color_err ... ok [INFO] [stdout] test render_pass::tests::test_render_pass_builder_build_ok ... ok [INFO] [stdout] test render_pass::tests::test_render_pass_builder_depth_non_depth_format_err ... ok [INFO] [stdout] test render_pass::tests::test_render_pass_builder_with_depth ... ok [INFO] [stdout] test render_pass::tests::test_render_pass_uniform_color_format_true_single ... ok [INFO] [stdout] test render_pass::tests::test_store_op_discard_no_write ... ok [INFO] [stdout] test render_pass::tests::test_store_op_writes_output_store ... ok [INFO] [stdout] test resource_manager::tests::test_allocate_returns_valid_handle ... ok [INFO] [stdout] test resource_manager::tests::test_allocate_zero_bytes_returns_error ... ok [INFO] [stdout] test resource_manager::tests::test_allocated_handle_valid ... ok [INFO] [stdout] test resource_manager::tests::test_allocation_count_increases ... ok [INFO] [stdout] test resource_manager::tests::test_default_handle_invalid ... ok [INFO] [stdout] test resource_manager::tests::test_free_invalid_handle_returns_false ... ok [INFO] [stdout] test resource_manager::tests::test_free_removes_resource ... ok [INFO] [stdout] test resource_manager::tests::test_gpu_buffer_is_gpu_memory ... ok [INFO] [stdout] test resource_manager::tests::test_gpu_buffer_not_texture ... ok [INFO] [stdout] test resource_manager::tests::test_host_buffer_not_gpu_memory ... ok [INFO] [stdout] test resource_manager::tests::test_is_alive_after_free_is_false ... ok [INFO] [stdout] test resource_manager::tests::test_resource_label_query ... ok [INFO] [stdout] test resource_manager::tests::test_resource_size_query ... ok [INFO] [stdout] test resource_manager::tests::test_resource_type_query ... ok [INFO] [stdout] test resource_manager::tests::test_sampler_not_gpu_memory ... ok [INFO] [stdout] test resource_manager::tests::test_texture2d_is_gpu_memory ... ok [INFO] [stdout] test resource_manager::tests::test_texture3d_is_texture ... ok [INFO] [stdout] test resource_manager::tests::test_total_bytes_counts_all ... ok [INFO] [stdout] test resource_manager::tests::test_total_gpu_bytes_only_counts_gpu_resources ... ok [INFO] [stdout] test sampler::tests::filter_mode_default_is_linear ... ok [INFO] [stdout] test sampler::tests::filter_mode_linear_no_mipmap ... ok [INFO] [stdout] test sampler::tests::filter_mode_mipmap_variants_use_mipmaps ... ok [INFO] [stdout] test sampler::tests::filter_mode_nearest_no_mipmap ... ok [INFO] [stdout] test sampler::tests::nearest_repeat_config_values ... ok [INFO] [stdout] test sampler::tests::sampler_cache_clear_resets ... ok [INFO] [stdout] test sampler::tests::sampler_cache_deduplicate ... ok [INFO] [stdout] test sampler::tests::sampler_cache_different_configs_different_handles ... ok [INFO] [stdout] test sampler::tests::sampler_cache_is_empty_initially ... ok [INFO] [stdout] test sampler::tests::sampler_config_clamp_anisotropy ... ok [INFO] [stdout] test sampler::tests::sampler_config_clamp_anisotropy_no_increase ... ok [INFO] [stdout] test sampler::tests::sampler_config_default_is_linear_clamp ... ok [INFO] [stdout] test sampler::tests::sampler_config_linear_clamp_no_mipmaps ... ok [INFO] [stdout] test sampler::tests::sampler_config_trilinear_needs_mipmaps ... ok [INFO] [stdout] test sampler::tests::sampler_handle_id ... ok [INFO] [stdout] test sampler::tests::wrap_mode_default_is_clamp_to_edge ... ok [INFO] [stdout] test scale_kernel::tests::test_bicubic_weight_at_two_is_zero ... ok [INFO] [stdout] test scale_kernel::tests::test_bicubic_weight_at_zero_is_one ... ok [INFO] [stdout] test scale_kernel::tests::test_downscale_output_size ... ok [INFO] [stdout] test readback::tests::test_validate_size_correct ... ok [INFO] [stdout] test ops::transform::tests::test_perspective_warp_invalid_dims_return_error ... ok [INFO] [stdout] test scale_kernel::tests::test_downscale_2x_preserves_constant_color ... ok [INFO] [stdout] test scale_kernel::tests::test_scale_filter_labels ... ok [INFO] [stdout] test scale_kernel::tests::test_identity_nearest ... ok [INFO] [stdout] test scale_kernel::tests::test_identity_bicubic ... ok [INFO] [stdout] test scale_kernel::tests::test_scale_plane_invalid_dims ... ok [INFO] [stdout] test scale_kernel::tests::test_scale_rgba_buffer_mismatch ... ok [INFO] [stdout] test scale_kernel::tests::test_identity_bilinear ... ok [INFO] [stdout] test scale_kernel::tests::test_scale_rgba_invalid_src_dims ... ok [INFO] [stdout] test scale_kernel::tests::test_scale_stats_filter_recorded ... ok [INFO] [stdout] test scale_kernel::tests::test_scale_yuv420_output_sizes ... ok [INFO] [stdout] test scale_kernel::tests::test_scale_yuv422_output_sizes ... ok [INFO] [stdout] test scale_kernel::tests::test_scale_plane_constant_value ... ok [INFO] [stdout] test shader_cache::tests::test_age_of_is_non_negative ... ok [INFO] [stdout] test scale_kernel::tests::test_upscale_output_size ... ok [INFO] [stdout] test shader_cache::tests::test_clear ... ok [INFO] [stdout] test shader::tests::test_bind_group_layout_builder ... ok [INFO] [stdout] test shader_cache::tests::test_cache_miss ... ok [INFO] [stdout] test shader_cache::tests::test_contains ... ok [INFO] [stdout] test scale_kernel::tests::test_scale_yuv420_constant_neutral ... ok [INFO] [stdout] test shader_cache::tests::test_disk_cache_miss_unknown_version ... ok [INFO] [stdout] test shader_cache::tests::test_disk_cache_invalidate_backend ... ok [INFO] [stdout] test shader_cache::tests::test_disk_cache_clear_removes_all_files ... ok [INFO] [stdout] test shader_cache::tests::test_disk_cache_put_and_get ... ok [INFO] [stdout] test shader_cache::tests::test_disk_cache_roundtrip_large_bytecode ... ok [INFO] [stdout] test shader_cache::tests::test_disk_cache_stats_accumulate ... ok [INFO] [stdout] test shader_cache::tests::test_disk_cache_version_mismatch_returns_none ... ok [INFO] [stdout] test shader_cache::tests::test_eviction_by_bytes ... ok [INFO] [stdout] test shader_cache::tests::test_hash_source_deterministic ... ok [INFO] [stdout] test shader_cache::tests::test_eviction_by_entry_count ... ok [INFO] [stdout] test shader_cache::tests::test_hash_source_differs_for_different_inputs ... ok [INFO] [stdout] test shader_cache::tests::test_insert_and_get ... ok [INFO] [stdout] test shader_cache::tests::test_hit_count_increments ... ok [INFO] [stdout] test shader_cache::tests::test_invalidate_backend ... ok [INFO] [stdout] test shader_cache::tests::test_invalidation_different_source_is_miss ... ok [INFO] [stdout] test shader_cache::tests::test_invalidation_clear_invalidates_all ... ok [INFO] [stdout] test shader_cache::tests::test_invalidation_old_version_not_accessible_after_remove ... ok [INFO] [stdout] test shader_cache::tests::test_invalidation_disk_cache_version_change ... ok [INFO] [stdout] test shader_cache::tests::test_invalidation_initial_hit ... ok [INFO] [stdout] test shader_cache::tests::test_invalidation_source_hash_changes_on_whitespace_edit ... ok [INFO] [stdout] test shader_cache::tests::test_shader_version_equality ... ok [INFO] [stdout] test shader_cache::tests::test_remove ... ok [INFO] [stdout] test shader_params::tests::test_float_byte_size ... ok [INFO] [stdout] test shader_params::tests::test_matrix4x4_byte_size ... ok [INFO] [stdout] test shader_params::tests::test_int_byte_size ... ok [INFO] [stdout] test shader_params::tests::test_shader_param_end_offset ... ok [INFO] [stdout] test shader_params::tests::test_shader_param_end_offset_vec4 ... ok [INFO] [stdout] test shader_params::tests::test_shader_param_end_offset_matrix ... ok [INFO] [stdout] test shader_params::tests::test_uniform_block_find_existing ... ok [INFO] [stdout] test shader_params::tests::test_uniform_block_add_and_count ... ok [INFO] [stdout] test shader_params::tests::test_uniform_block_find_missing ... ok [INFO] [stdout] test shader_params::tests::test_uniform_block_is_aligned_false ... ok [INFO] [stdout] test shader_params::tests::test_uniform_block_is_aligned_true ... ok [INFO] [stdout] test shader_params::tests::test_uniform_block_matrix_is_aligned ... ok [INFO] [stdout] test shader_params::tests::test_uniform_block_total_size ... ok [INFO] [stdout] test shader_params::tests::test_vec2_byte_size ... ok [INFO] [stdout] test shader_params::tests::test_vec3_byte_size ... ok [INFO] [stdout] test shader_params::tests::test_vec4_byte_size ... ok [INFO] [stdout] test sync::tests::test_barrier ... ok [INFO] [stdout] test sync::tests::test_event ... ok [INFO] [stdout] test sync::tests::test_semaphore ... ok [INFO] [stdout] test sync_primitive::tests::test_barrier_wait_type ... ok [INFO] [stdout] test sync_primitive::tests::test_enqueue_transitions_to_pending ... ok [INFO] [stdout] test sync_primitive::tests::test_fence_wait_type ... ok [INFO] [stdout] test sync_primitive::tests::test_full_lifecycle ... ok [INFO] [stdout] test sync_primitive::tests::test_label_stored ... ok [INFO] [stdout] test sync_primitive::tests::test_new_sync_is_unsignaled ... ok [INFO] [stdout] test sync_primitive::tests::test_pending_is_pending ... ok [INFO] [stdout] test sync_primitive::tests::test_reset_from_pending_fails ... ok [INFO] [stdout] test sync_primitive::tests::test_reset_from_signaled_succeeds ... ok [INFO] [stdout] test sync_primitive::tests::test_semaphore_not_cpu_visible ... ok [INFO] [stdout] test sync_primitive::tests::test_semaphore_wait_type ... ok [INFO] [stdout] test sync_primitive::tests::test_signal_count_increments ... ok [INFO] [stdout] test sync_primitive::tests::test_signal_transitions_to_signaled ... ok [INFO] [stdout] test sync_primitive::tests::test_signaled_is_signaled ... ok [INFO] [stdout] test sync_primitive::tests::test_signaled_not_pending ... ok [INFO] [stdout] test sync_primitive::tests::test_sync_type_stored ... ok [INFO] [stdout] test sync_primitive::tests::test_unsignaled_not_signaled ... ok [INFO] [stdout] test sync_primitive::tests::test_fence_is_cpu_visible ... ok [INFO] [stdout] test sync_primitive::tests::test_wait_returns_false_when_unsignaled ... ok [INFO] [stdout] test sync_primitive::tests::test_wait_returns_true_when_signaled ... ok [INFO] [stdout] test texture::tests::test_allocate_with_lru_eviction_preserves_mru ... ok [INFO] [stdout] test texture::tests::test_channel_counts ... ok [INFO] [stdout] test texture::tests::test_descriptor_new_defaults ... ok [INFO] [stdout] test texture::tests::test_descriptor_size_bytes_rgba8 ... ok [INFO] [stdout] test texture::tests::test_descriptor_size_bytes_with_mips ... ok [INFO] [stdout] test texture::tests::test_descriptor_total_pixels ... ok [INFO] [stdout] test texture::tests::test_evict_lru_correct_order ... ok [INFO] [stdout] test texture::tests::test_evict_lru_noop_when_under_capacity ... ok [INFO] [stdout] test texture::tests::test_evict_lru_on_empty_pool ... ok [INFO] [stdout] test texture::tests::test_evict_lru_reduces_count_to_capacity ... ok [INFO] [stdout] test texture::tests::test_lru_eviction_returns_none_when_budget_impossible ... ok [INFO] [stdout] test texture::tests::test_lru_handle_on_empty_pool ... ok [INFO] [stdout] test texture::tests::test_lru_handle_returns_oldest ... ok [INFO] [stdout] test texture::tests::test_pool_basic_allocation ... ok [INFO] [stdout] test texture::tests::test_pool_budget_exceeded_returns_none ... ok [INFO] [stdout] test texture::tests::test_pool_free_reduces_bytes ... ok [INFO] [stdout] test texture::tests::test_pool_reuses_freed_slot ... ok [INFO] [stdout] test texture::tests::test_pool_utilization_after_alloc ... ok [INFO] [stdout] test texture::tests::test_rgba8_bytes_per_pixel ... ok [INFO] [stdout] test texture::tests::test_touch_updates_lru_order ... ok [INFO] [stdout] test texture::tests::test_with_capacity_allocate_after_evict ... ok [INFO] [stdout] test texture::tests::test_with_capacity_rejects_when_full ... ok [INFO] [stdout] test texture::tests::test_yuv_formats_are_yuv ... ok [INFO] [stdout] test texture_atlas::tests::test_clear_resets_state ... ok [INFO] [stdout] test texture_atlas::tests::test_insert_multiple_rects ... ok [INFO] [stdout] test texture_atlas::tests::test_insert_single_rect ... ok [INFO] [stdout] test texture_atlas::tests::test_insert_too_large_returns_error ... ok [INFO] [stdout] test texture_atlas::tests::test_packer_clear_resets ... ok [INFO] [stdout] test texture_atlas::tests::test_packer_oversized_sprite_returns_zero_rect ... ok [INFO] [stdout] test texture_atlas::tests::test_packer_pack_multiple_sprites ... ok [INFO] [stdout] test texture_atlas::tests::test_packer_pack_single_sprite ... ok [INFO] [stdout] test texture_atlas::tests::test_packer_utilisation_increases ... ok [INFO] [stdout] test texture_atlas::tests::test_pixel_data_written_to_correct_position ... ok [INFO] [stdout] test texture_atlas::tests::test_rects_do_not_overlap ... ok [INFO] [stdout] test texture_atlas::tests::test_upload_pixels_correct_dimensions ... ok [INFO] [stdout] test texture_atlas::tests::test_upload_pixels_invalid_id_returns_error ... ok [INFO] [stdout] test texture_atlas::tests::test_upload_pixels_wrong_size_returns_error ... ok [INFO] [stdout] test texture_atlas::tests::test_utilisation_increases_with_inserts ... ok [INFO] [stdout] test texture_atlas::tests::test_uv_normalized_range ... ok [INFO] [stdout] test texture_atlas::tests::test_zero_dimension_returns_error ... ok [INFO] [stdout] test texture_cache::tests::test_fetch_correct_texel_value ... ok [INFO] [stdout] test texture_cache::tests::test_fetch_first_access_is_miss ... ok [INFO] [stdout] test texture_cache::tests::test_fetch_out_of_bounds ... ok [INFO] [stdout] test texture_cache::tests::test_fetch_second_access_same_tile_is_hit ... ok [INFO] [stdout] test texture_cache::tests::test_flush_clears_cache ... ok [INFO] [stdout] test texture_cache::tests::test_grid_size_exact_division ... ok [INFO] [stdout] test texture_cache::tests::test_grid_size_non_exact ... ok [INFO] [stdout] test texture_cache::tests::test_invalidate_tile ... ok [INFO] [stdout] test texture_cache::tests::test_lru_eviction_when_full ... ok [INFO] [stdout] test texture_cache::tests::test_lru_promotion_prevents_eviction ... ok [INFO] [stdout] test texture_cache::tests::test_new_zero_capacity_error ... ok [INFO] [stdout] test texture_cache::tests::test_new_zero_dimensions_error ... ok [INFO] [stdout] test texture_cache::tests::test_new_zero_tile_size_error ... ok [INFO] [stdout] test texture_cache::tests::test_prefetch_already_resident_is_noop ... ok [INFO] [stdout] test texture_cache::tests::test_prefetch_loads_tile_without_hit_count ... ok [INFO] [stdout] test texture_cache::tests::test_stats_hit_rate_all_hits ... ok [INFO] [stdout] test texture_cache::tests::test_stats_hit_rate_zero_accesses ... ok [INFO] [stdout] test texture_cache::tests::test_stats_total_accesses ... ok [INFO] [stdout] test texture_cache::tests::test_tile_key_from_texel ... ok [INFO] [stdout] test texture_cache::tests::test_tile_key_origin ... ok [INFO] [stdout] test tone_curve::tests::test_apply_in_place ... ok [INFO] [stdout] test tone_curve::tests::test_apply_luma ... ok [INFO] [stdout] test tone_curve::tests::test_apply_luma_in_place ... ok [INFO] [stdout] test tone_curve::tests::test_apply_mismatched_size_returns_error ... ok [INFO] [stdout] test tone_curve::tests::test_apply_non_multiple_of_4_returns_error ... ok [INFO] [stdout] test tone_curve::tests::test_apply_rgba_buffer ... ok [INFO] [stdout] test tone_curve::tests::test_chain_bake_empty_is_identity ... ok [INFO] [stdout] test tone_curve::tests::test_chain_bake_multiple ... ok [INFO] [stdout] test tone_curve::tests::test_chain_bake_single ... ok [INFO] [stdout] test tone_curve::tests::test_compose_two_curves ... ok [INFO] [stdout] test tone_curve::tests::test_custom_lut_passthrough ... ok [INFO] [stdout] test tone_curve::tests::test_filmic_s_curve_endpoints ... ok [INFO] [stdout] test tone_curve::tests::test_filmic_s_curve_midpoint_shift ... ok [INFO] [stdout] test tone_curve::tests::test_gamma_curve_brightens_midtones ... ok [INFO] [stdout] test tone_curve::tests::test_gamma_curve_preserves_endpoints ... ok [INFO] [stdout] test tone_curve::tests::test_gamma_unity_is_identity ... ok [INFO] [stdout] test tone_curve::tests::test_invert_linear_is_identity ... ok [INFO] [stdout] test tone_curve::tests::test_label_includes_curve_name ... ok [INFO] [stdout] test tone_curve::tests::test_linear_curve_is_identity ... ok [INFO] [stdout] test tone_curve::tests::test_logc_maps_black_to_low ... ok [INFO] [stdout] test tone_curve::tests::test_negative_gamma_returns_error ... ok [INFO] [stdout] test tone_curve::tests::test_slog3_maps_black_to_low ... ok [INFO] [stdout] test tone_curve::tests::test_spline_insufficient_points_error ... ok [INFO] [stdout] test tone_curve::tests::test_spline_with_custom_control_points ... ok [INFO] [stdout] test tone_curve::tests::test_spline_with_two_points ... ok [INFO] [stdout] test tone_curve::tests::test_zero_gamma_returns_error ... ok [INFO] [stdout] test upload_queue::tests::test_cancel_nonexistent ... ok [INFO] [stdout] test upload_queue::tests::test_cancel_request ... ok [INFO] [stdout] test upload_queue::tests::test_clear_queue ... ok [INFO] [stdout] test upload_queue::tests::test_create_queue ... ok [INFO] [stdout] test upload_queue::tests::test_enqueue_byte_limit ... ok [INFO] [stdout] test upload_queue::tests::test_enqueue_limit ... ok [INFO] [stdout] test upload_queue::tests::test_enqueue_request ... ok [INFO] [stdout] test upload_queue::tests::test_failed_transfer ... ok [INFO] [stdout] test upload_queue::tests::test_flush_batch ... ok [INFO] [stdout] test upload_queue::tests::test_flush_priority_ordering ... ok [INFO] [stdout] test upload_queue::tests::test_peek_next ... ok [INFO] [stdout] test upload_queue::tests::test_queued_bytes ... ok [INFO] [stdout] test upload_queue::tests::test_request_state_tracking ... ok [INFO] [stdout] test upload_queue::tests::test_stats ... ok [INFO] [stdout] test upload_queue::tests::test_stats_mb_conversion ... ok [INFO] [stdout] test upload_queue::tests::test_upload_target_fits ... ok [INFO] [stdout] test vertex_buffer::tests::attribute_component_counts ... ok [INFO] [stdout] test vertex_buffer::tests::attribute_float32_size ... ok [INFO] [stdout] test vertex_buffer::tests::attribute_float32x3_size ... ok [INFO] [stdout] test vertex_buffer::tests::attribute_unorm8x4_size ... ok [INFO] [stdout] test vertex_buffer::tests::layout_offsets_are_cumulative ... ok [INFO] [stdout] test vertex_buffer::tests::layout_slot_by_name ... ok [INFO] [stdout] test texture::tests::test_allocate_with_lru_eviction_makes_space ... ok [INFO] [stdout] test shader_params::tests::test_texture_byte_size ... ok [INFO] [stdout] test shader_cache::tests::test_default_cache_capacity ... ok [INFO] [stdout] test vertex_buffer::tests::layout_stride_multiple_attrs ... ok [INFO] [stdout] test vertex_buffer::tests::vertex_buffer_empty_layout_error ... ok [INFO] [stdout] test vertex_buffer::tests::vertex_buffer_stride_mismatch_error ... ok [INFO] [stdout] test vertex_buffer::tests::vertex_buffer_vertex_bytes_valid ... ok [INFO] [stdout] test vertex_buffer::tests::layout_stride_single_attr ... ok [INFO] [stdout] test vertex_buffer::tests::vertex_buffer_byte_len ... ok [INFO] [stdout] test vertex_buffer::tests::vertex_buffer_create_ok ... ok [INFO] [stdout] test video_process::tests::test_adjust_contrast_increase ... ok [INFO] [stdout] test video_process::tests::test_adjust_saturation_no_change_at_one ... ok [INFO] [stdout] test video_process::tests::test_adjust_saturation_zero_desaturates ... ok [INFO] [stdout] test video_process::tests::test_config_accessor ... ok [INFO] [stdout] test video_process::tests::test_frame_difference ... ok [INFO] [stdout] test video_process::tests::test_adjust_brightness_clamp_down ... ok [INFO] [stdout] test video_process::tests::test_adjust_brightness_clamp_up ... ok [INFO] [stdout] test video_process::tests::test_adjust_contrast ... ok [INFO] [stdout] test video_process::tests::test_invalid_frame_size ... ok [INFO] [stdout] test video_process::tests::test_histogram_uniform_frame ... ok [INFO] [stdout] test video_process::tests::test_mean_absolute_error ... ok [INFO] [stdout] test viewport::tests::test_scissor_area ... ok [INFO] [stdout] test viewport::tests::test_scissor_clips_outside ... ok [INFO] [stdout] test viewport::tests::test_viewport_aspect_ratio ... ok [INFO] [stdout] test viewport::tests::test_viewport_aspect_ratio_zero_height ... ok [INFO] [stdout] test viewport::tests::test_viewport_invalid_depth_range ... ok [INFO] [stdout] test viewport::tests::test_scissor_is_non_empty ... ok [INFO] [stdout] test viewport::tests::test_viewport_is_landscape ... ok [INFO] [stdout] test viewport::tests::test_viewport_is_portrait ... ok [INFO] [stdout] test viewport::tests::test_viewport_stack_current ... ok [INFO] [stdout] test viewport::tests::test_viewport_origin_is_top_left ... ok [INFO] [stdout] test viewport::tests::test_viewport_stack_push_pop ... ok [INFO] [stdout] test viewport::tests::test_viewport_stack_pop_empty ... ok [INFO] [stdout] test video_process::tests::test_histogram_rgb_frame ... ok [INFO] [stdout] test viewport::tests::test_scissor_clips_inside ... ok [INFO] [stdout] test viewport::tests::test_viewport_valid_depth_range ... ok [INFO] [stdout] test workgroup::tests::test_auto_tuner_1d_default_limits ... ok [INFO] [stdout] test workgroup::tests::test_auto_tuner_2d_1080p ... ok [INFO] [stdout] test workgroup::tests::test_auto_tuner_2d_non_square ... ok [INFO] [stdout] test workgroup::tests::test_auto_tuner_1d_small_problem ... ok [INFO] [stdout] test workgroup::tests::test_auto_tuner_2d_4k ... ok [INFO] [stdout] test workgroup::tests::test_auto_tuner_respects_constrained_limits ... ok [INFO] [stdout] test workgroup::tests::test_auto_tuner_2d_small_image ... ok [INFO] [stdout] test workgroup::tests::test_auto_tuner_efficiency_estimate ... ok [INFO] [stdout] test workgroup::tests::test_auto_tuner_with_shared_memory ... ok [INFO] [stdout] test workgroup::tests::test_device_limits_default ... ok [INFO] [stdout] test workgroup::tests::test_dispatch_dimensions_linear ... ok [INFO] [stdout] test workgroup::tests::test_dispatch_total_invocations ... ok [INFO] [stdout] test workgroup::tests::test_div_ceil ... ok [INFO] [stdout] test workgroup::tests::test_efficiency_partial ... ok [INFO] [stdout] test workgroup::tests::test_efficiency_perfect ... ok [INFO] [stdout] test workgroup::tests::test_plan_1d ... ok [INFO] [stdout] test workgroup::tests::test_plan_2d_square ... ok [INFO] [stdout] test workgroup::tests::test_plan_2d_wide ... ok [INFO] [stdout] test workgroup::tests::test_plan_3d ... ok [INFO] [stdout] test workgroup::tests::test_round_up ... ok [INFO] [stdout] test workgroup::tests::test_shared_memory_exceeds_limit ... ok [INFO] [stdout] test workgroup::tests::test_shared_memory_floats ... ok [INFO] [stdout] test workgroup::tests::test_shared_memory_vec4s ... ok [INFO] [stdout] test workgroup::tests::test_warp_alignment ... ok [INFO] [stdout] test workgroup::tests::test_workgroup_size_3d ... ok [INFO] [stdout] test workgroup::tests::test_workgroup_size_default ... ok [INFO] [stdout] test workgroup::tests::test_workgroup_size_flat ... ok [INFO] [stdout] test workgroup::tests::test_workgroup_size_invalid_exceeds_max ... ok [INFO] [stdout] test workgroup::tests::test_workgroup_size_invalid_exceeds_total ... ok [INFO] [stdout] test workgroup::tests::test_workgroup_size_linear ... ok [INFO] [stdout] test workgroup::tests::test_auto_tuner_with_large_shared_memory ... ok [INFO] [stdout] test multi_gpu::tests::test_single_device_always_selected ... ok [INFO] [stdout] test multi_gpu::tests::test_dispatch_failure_recorded ... ok [INFO] [stdout] test ops::denoise::tests::test_bilateral_denoise_via_denoise_fn_constant ... ok [INFO] [stdout] test multi_gpu::tests::test_dispatch_records_stats ... ok [INFO] [stdout] test multi_gpu::tests::test_distribute_frames_returns_results_in_order ... ok [INFO] [stdout] test multi_gpu::tests::test_device_stats_snapshot ... ok [INFO] [stdout] test multi_gpu::tests::test_weighted_selects_highest_weight ... ok [INFO] [stdout] test multi_gpu::tests::test_least_loaded_prefers_idle ... ok [INFO] [stdout] test multi_gpu::tests::test_adaptive_prefers_high_throughput ... ok [INFO] [stdout] test multi_gpu::tests::test_round_robin_cycles ... ok [INFO] [stdout] test multi_gpu::tests::test_total_dispatched_sum ... ok [INFO] [stdout] test multi_gpu::tests::test_device_count ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1237 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 4.07s [INFO] [stdout] [INFO] [stderr] Doc-tests oximedia_gpu [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test src/perspective_transform.rs - perspective_transform (line 20) - compile ... ok [INFO] [stdout] test src/film_grain.rs - film_grain (line 29) - compile ... ok [INFO] [stdout] test src/optical_flow.rs - optical_flow (line 22) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 17) - compile ... ok [INFO] [stdout] test src/accelerator.rs - accelerator::AcceleratorBuilder (line 851) - compile ... ok [INFO] [stdout] test src/accelerator.rs - accelerator (line 18) - compile ... ok [INFO] [stdout] test src/pipeline_stages.rs - pipeline_stages (line 8) - compile ... ok [INFO] [stdout] test src/async_compute.rs - async_compute (line 11) ... FAILED [INFO] [stdout] test src/sampler.rs - sampler::SamplerCache (line 152) ... FAILED [INFO] [stdout] test src/texture_atlas.rs - texture_atlas (line 17) ... ok [INFO] [stdout] test src/readback.rs - readback (line 10) ... ok [INFO] [stdout] test src/pipeline_cache.rs - pipeline_cache (line 13) ... ok [INFO] [stdout] test src/texture_atlas.rs - texture_atlas::TextureAtlasPacker (line 327) ... ok [INFO] [stdout] test src/scale_kernel.rs - scale_kernel (line 17) ... ok [INFO] [stdout] test src/vertex_buffer.rs - vertex_buffer::VertexBuffer (line 154) ... ok [INFO] [stdout] test src/compute_shader.rs - compute_shader (line 10) ... ok [INFO] [stdout] test src/gpu_profiler.rs - gpu_profiler::GpuProfiler (line 111) ... ok [INFO] [stdout] test src/color_convert_kernel.rs - color_convert_kernel (line 13) ... ok [INFO] [stdout] test src/blend_kernel.rs - blend_kernel (line 21) ... ok [INFO] [stdout] test src/gpu_cpu_verify.rs - gpu_cpu_verify (line 18) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/async_compute.rs - async_compute (line 11) stdout ---- [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/tmp/rustdoctestCIgiEI/rustcClGzin/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{liboximedia_gpu-ded9c4548e154e52,libdirs-453cbef66b7d234a,libdirs_sys-24ebac567d72bb9c,liboption_ext-23838f1959a6156b,libpollster-95d1b882aa57d6d2,libfutures_channel-94f46aa8ee2150f1,libfutures_sink-2a35c2cc05019abc,libfutures_core-a002474c8956e259,libtracing-b1271b8b67dba3d0,libpin_project_lite-8a799ba8b4537fa2,libtracing_core-386c043fb93aac37,librayon-cd34b23986a5f38e,librayon_core-52eb7fbf8b046d0c,libcrossbeam_deque-5a8bc6150a57d553,libcrossbeam_epoch-7bc0ab567b886199,libcrossbeam_utils-bddddcad4a4551ea,libeither-ef22a4c75605e12f,libwgpu-658b1944a2a6ba7a,libstatic_assertions-d53a9977dc6e27e5,libwgpu_core-68b7777b8a4722f4,libwgpu_hal-ded924a56be70260,librenderdoc_sys-f1b2eeee5608e180,libgpu_allocator-9d1c9a0a931eac48,libpresser-b26a948fc5e02b76,libkhronos_egl-b6b9d6096c42fe76,libwayland_sys-3b4d8a234db7db1f,libonce_cell-028ded5f5e4e9236,libdlib-29d637bb0f86a065,libprofiling-5bbd3355b6006c2d,libwgpu_naga_bridge-02b02269c7c26d81,libordered_float-e559d4e5e2d7f94a,libgpu_descriptor-e42bc02d5be6fe40,libhashbrown-22a692144023f101,libfoldhash-a84df4cbe8daa3b8,libgpu_descriptor_types-2fa8272088838e04,libash-5d0909c2cc9db520,liblibloading-e0795cb5ebc00421,libnaga-84af678ff282ea03,librustc_hash-17912ff924ee104f,liblibm-6e8521081c3763a4,libhexf_parse-2ac3e111e86d5d60,libunicode_ident-f056d175c0a59671,libbit_set-e1ffe868a1ec0c7d,libbit_vec-d38586433b0eef2e,libhalf-634fe1d93a59232b,libzerocopy-592b5131a8d0e556,libcodespan_reporting-221113e5121218d9,libunicode_width-11318280e9097d13,libnum_traits-517653d66c5e8ab8,libindexmap-1d11e46c1284e847,libhashbrown-7a8f6228ee104885,libspirv-9bbc191e62883526,libthiserror-2d21d186c053aefd,libarrayvec-1b252ee19ef31e11,libparking_lot-15e802cb0768d22b,libparking_lot_core-0a3bc434db44d561,liblibc-da52938bfe154f8f,libcfg_if-5af52f617df93f8f,libsmallvec-42869113a3c3f2c5,liblock_api-ec1e77aca18a533b,libscopeguard-d52bd00767847e44,libhashbrown-a0fede83a537ebb1,libequivalent-7e0e8cbe6c474a67,liballocator_api2-3bc2480ae44878f3,libfoldhash-d6902c75bde81c73,libglow-89ca846c3eeec44d,libwgpu_types-909b7bf9949116db,libraw_window_handle-1ec61a86d1e26930,liblog-cfb0a897de58af94,libbytemuck-3efb3f65954c3cf0,libbitflags-d17ebe902391bfc3,libserde_core-365391bf3dd30696}.rlib" "/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustdoctestCIgiEI/rustcClGzin/raw-dylibs" "-B/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/alloca-20ea994b0a1815b3/out" "-L" "/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/rustdoctestCIgiEI/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: collect2: fatal error: ld terminated with signal 9 [Killed] [INFO] [stdout] compilation terminated. [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/sampler.rs - sampler::SamplerCache (line 152) stdout ---- [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/tmp/rustdoctestoypVkV/rustcW1i5Cb/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{liboximedia_gpu-ded9c4548e154e52,libdirs-453cbef66b7d234a,libdirs_sys-24ebac567d72bb9c,liboption_ext-23838f1959a6156b,libpollster-95d1b882aa57d6d2,libfutures_channel-94f46aa8ee2150f1,libfutures_sink-2a35c2cc05019abc,libfutures_core-a002474c8956e259,libtracing-b1271b8b67dba3d0,libpin_project_lite-8a799ba8b4537fa2,libtracing_core-386c043fb93aac37,librayon-cd34b23986a5f38e,librayon_core-52eb7fbf8b046d0c,libcrossbeam_deque-5a8bc6150a57d553,libcrossbeam_epoch-7bc0ab567b886199,libcrossbeam_utils-bddddcad4a4551ea,libeither-ef22a4c75605e12f,libwgpu-658b1944a2a6ba7a,libstatic_assertions-d53a9977dc6e27e5,libwgpu_core-68b7777b8a4722f4,libwgpu_hal-ded924a56be70260,librenderdoc_sys-f1b2eeee5608e180,libgpu_allocator-9d1c9a0a931eac48,libpresser-b26a948fc5e02b76,libkhronos_egl-b6b9d6096c42fe76,libwayland_sys-3b4d8a234db7db1f,libonce_cell-028ded5f5e4e9236,libdlib-29d637bb0f86a065,libprofiling-5bbd3355b6006c2d,libwgpu_naga_bridge-02b02269c7c26d81,libordered_float-e559d4e5e2d7f94a,libgpu_descriptor-e42bc02d5be6fe40,libhashbrown-22a692144023f101,libfoldhash-a84df4cbe8daa3b8,libgpu_descriptor_types-2fa8272088838e04,libash-5d0909c2cc9db520,liblibloading-e0795cb5ebc00421,libnaga-84af678ff282ea03,librustc_hash-17912ff924ee104f,liblibm-6e8521081c3763a4,libhexf_parse-2ac3e111e86d5d60,libunicode_ident-f056d175c0a59671,libbit_set-e1ffe868a1ec0c7d,libbit_vec-d38586433b0eef2e,libhalf-634fe1d93a59232b,libzerocopy-592b5131a8d0e556,libcodespan_reporting-221113e5121218d9,libunicode_width-11318280e9097d13,libnum_traits-517653d66c5e8ab8,libindexmap-1d11e46c1284e847,libhashbrown-7a8f6228ee104885,libspirv-9bbc191e62883526,libthiserror-2d21d186c053aefd,libarrayvec-1b252ee19ef31e11,libparking_lot-15e802cb0768d22b,libparking_lot_core-0a3bc434db44d561,liblibc-da52938bfe154f8f,libcfg_if-5af52f617df93f8f,libsmallvec-42869113a3c3f2c5,liblock_api-ec1e77aca18a533b,libscopeguard-d52bd00767847e44,libhashbrown-a0fede83a537ebb1,libequivalent-7e0e8cbe6c474a67,liballocator_api2-3bc2480ae44878f3,libfoldhash-d6902c75bde81c73,libglow-89ca846c3eeec44d,libwgpu_types-909b7bf9949116db,libraw_window_handle-1ec61a86d1e26930,liblog-cfb0a897de58af94,libbytemuck-3efb3f65954c3cf0,libbitflags-d17ebe902391bfc3,libserde_core-365391bf3dd30696}.rlib" "/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustdoctestoypVkV/rustcW1i5Cb/raw-dylibs" "-B/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/alloca-20ea994b0a1815b3/out" "-L" "/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/rustdoctestoypVkV/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: collect2: fatal error: ld terminated with signal 9 [Killed] [INFO] [stdout] compilation terminated. [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/async_compute.rs - async_compute (line 11) [INFO] [stdout] src/sampler.rs - sampler::SamplerCache (line 152) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 18 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 18.65s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "7bcac536793522ed356867554454e0c968352b97d3d1353f8dafc114fd495e63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7bcac536793522ed356867554454e0c968352b97d3d1353f8dafc114fd495e63", kill_on_drop: false }` [INFO] [stdout] 7bcac536793522ed356867554454e0c968352b97d3d1353f8dafc114fd495e63