Skip to content

AGC: Intel Iris Xe (Windows) driver crashes in vkGetPipelineCacheData from the pipeline cache saver thread about 10 s after start #4781

Closed

Description

@iDiesIrae-Req

What happens

With ANYPS5_GPU=Intel, DOOM Native Port (PPSA99666) and ccleste (PPSA59322) crash 3 of 3 runs at about 10.7 s. Both render at 60 FPS for 120 s on the NVIDIA GPU of the same machine. DOOM's report:

FATAL: unhandled exception 0xc0000005 on thread 27072 ''
  rip 0x00007ff93db2d102 igvk64.dll+0x14d102
  read of 0x0000000000000170

The AnyPS5 frames on the stack resolve to:

  • AgcDriver::Graphics::PipelineCache::save(bool) + 256
  • AgcDriver::Graphics::PipelineCache::run() + 113

So the fault is inside the Intel driver during vkGetPipelineCacheData (core/libs/prx/libSceAgcDriver/Graphics/src/PipelineCache.cpp:109-111). The call comes from the saver thread's first periodic save (SaveIntervalSeconds = 10), while the title's threads keep creating pipelines with the same VkPipelineCache.

Checks

  • Saver disabled: with ANYPS5_NO_SHADER_CACHE=1, so no cache directory and no saver thread, DOOM on the Intel GPU runs past 40 s (27 FPS) instead of crashing at 10.7 s.
  • Validation layer: Khronos validation (Vulkan SDK 1.4.363.0, errors and warnings, thread safety on by default) reports nothing for DOOM on either GPU before the crash. The crashing call passes through VkLayer_khronos_validation.dll.
  • Two Intel drivers: reproduced on 32.0.101.6790 (April 2025) and 32.0.101.7092 (September 2026).

The cache is created without VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, so concurrent vkGetPipelineCacheData and pipeline creation is valid usage. This looks like an Intel driver bug that AnyPS5 runs into. A workaround could serialize the save against pipeline creation on Intel, or merge into a separate cache before reading it.

Separately

ccleste with ANYPS5_NO_SHADER_CACHE=1 on the Intel GPU gets past 10.7 s but then stops with VkResult is ERROR_DEVICE_LOST from the title's own Vulkan code at about 12.7 s. That is not caused by the saver. I will look at it separately.

Environment

  • AnyPS5: main 1acfa7f, Release, WinLibs GCC 15.2.0 r7.
  • OS: Windows 11 Home 10.0.26300.
  • Intel GPU: Intel Iris Xe Graphics (0x8086:0x46a6).
  • NVIDIA GPU: RTX 4070 Laptop, driver 32.0.16.1714.
  • Titles: from https://github.com/blackbearreloaded/ps5-homebrew-catalog (apps/PPSA99666.json, apps/PPSA59322.json), unpacked from their fake-signed SELF and converted with relinker --windows.

Measured and written with Claude Code assistance.

Activity

  1. oneandonlydean commented on Oct 14, 2026

    @oneandonlydean
    Collaborator

    Closing: fixed on main by #4795 (pipeline cache snapshots are serialized against pipeline creation). If it still happens on current main, comment here with the title ID and the log line.

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