Skip to content

AGC (Intel Graphics, Arrow Lake, Linux): four agc_driver tests fail: f32 denormal flush, f64 frexp mantissa, T# MIN_LOD clamp and mesh v_interp_mov #15817

Open

Description

@RyanIsAinmDom

What happens

Four agc_driver tests fail every run on the integrated GPU of a Core Ultra 9 285K (Arrow Lake-S, Mesa ANV, Linux). They pass on the RTX 5080 in the same machine, from the same build:

test error
agc_driver_f32_denormal_flush AGC graphics: f32 denormal flush: fused lane 4 no float mode v_mul_f32 v12, v4, v5 is 0x00800000, expected 0x00000000
agc_driver_f64_rounding_denormal_modes AGC graphics: v_frexp_mant_f64 without a known float mode of 0x0000000000000001 is 0x3fe0000000000001, expected 0x3fe0000000000000
agc_driver_image_sample_lod_clamp AGC graphics: image_sample_d_cl with T# MIN_LOD 512 over BASE_LEVEL 0 with S# MAX_LOD 4095, mip filter 1 and LOD bias 0: thread 3 component 0 is 2.000000, expected 3
agc_driver_mesh_barycentric_emulation AGC graphics: v_interp_mov: pixel (16, 6) channel 0 is 11.250000, expected -3.750000

Title, test or build step

The four ctests above. No title.

AnyPS5 commit

main b11c7bf84f, nothing merged on top.

System

CachyOS, kernel 7.3.1-1-cachyos, GCC 16.2.1, Release. Intel(R) Graphics (ARL) (8086:7d67) of a Core Ultra 9 285K, Mesa 26.2.5-arch3.1 (ANV), Vulkan 1.4.354. The same machine has an NVIDIA GeForce RTX 5080 (driver 615.78.08).

Host report

No title was run. Device properties that bear on these tests, from vulkaninfo:

  • shaderFloat64, minLod (VK_EXT_image_view_min_lod) and VK_EXT_mesh_shader are present; VK_KHR_fragment_shader_barycentric is not.
  • Float controls: denormBehaviorIndependence ALL, roundingModeIndependence NONE. Denormal flush and preserve, RTE and RTZ, and signed zero/Inf/NaN preservation are supported for f32 and f64.
  • Subgroup sizes 8 to 32 (32 by default).

Steps to reproduce

ANYPS5_GPU=Intel ANYPS5_REQUIRE_VULKAN=1 ANYPS5_NO_SHADER_CACHE=1 \
  ctest --test-dir build -R '^(agc_driver_f32_denormal_flush|agc_driver_f64_rounding_denormal_modes|agc_driver_image_sample_lod_clamp|agc_driver_mesh_barycentric_emulation)$' -V

Each fails in under a second.

Log

[src/VulkanDevice.cpp:1471 VulkanDevice] Selected GPU name=Intel(R) Graphics (ARL) vendor=0x8086 device=0x7d67 subgroup=32
[float-controls] f32 denormal flush: hardware (0 of 5472 probe results differ from the emulated flush, 42 ms)
[float-controls] f32 denormal preserve: requested (0 of 256 probe results on normal values differ from the default mode by more than the Vulkan precision bounds, 3 ms)
AGC graphics: f32 denormal flush: fused lane 4 no float mode v_mul_f32 v12, v4, v5 is 0x00800000, expected 0x00000000

The other three print the same device lines before the errors in the table.

What was checked

AI-assisted: yes (Claude Code)

Activity

  1. tablefrogpillow commented on Nov 6, 2026

    @tablefrogpillow
    Contributor

    These four pass on AMD (RADV, Linux) on two RDNA generations, placing them with the RTX 5080 pass. Since ANV and RADV are both Mesa drivers, a second Mesa driver handling them correctly points to the Intel ANV path specifically, rather than anything Mesa-wide.

    main bb606f9944, ANYPS5_REQUIRE_VULKAN=1 ANYPS5_NO_SHADER_CACHE=1, 3 runs each:

    test RADV RAPHAEL_MENDOCINO (RDNA 2, 1002:164e) RADV NAVI31 (RDNA 3, 1002:744c)
    agc_driver_f32_denormal_flush 3/3 pass 3/3 pass
    agc_driver_f64_rounding_denormal_modes 3/3 pass 3/3 pass
    agc_driver_image_sample_lod_clamp 3/3 pass 3/3 pass
    agc_driver_mesh_barycentric_emulation 3/3 pass 3/3 pass

    System: Ubuntu 24.04, kernel 6.8.0-147, Mesa RADV 26.2.6, GCC 13.3.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions