Skip to content

fix(agc): take a unified heap as the host heap for the import budget - #11600

Merged
oneandonlydean merged 1 commit into
boykopovar:mainfrom
morten-holm:fix/agc-import-budget-unified-heap
Nov 2, 2026
Merged

oneandonlydean merged 1 commit into
boykopovar:mainfrom
morten-holm:fix/agc-import-budget-unified-heap

Conversation

@morten-holm

Copy link
Copy Markdown
Contributor

What

VK_EXT_memory_budget feedback for host imports looks at the host heap. hostHeapIndex finds it as the largest heap that is not DEVICE_LOCAL. A device with one unified heap (Apple silicon with MoltenVK or KosmicKrisp) has no such heap. The function returned no heap, so the budget feedback never applied and the import budget stayed at the configured value (max(6 GiB, physical / 2), 12 GiB on a 24 GiB Mac).

When no heap without DEVICE_LOCAL exists, hostHeapIndex now takes the largest heap that has a HOST_VISIBLE | HOST_COHERENT memory type. A discrete GPU keeps its separate host heap. A heap with no host-coherent type is still not a host heap.

HostImportBudget and effectiveBudget are not changed.

Tested

  • Unit test unifiedHeapImportBudgetTests (agc_driver_graphics_tests), with mocked heaps:
    • one 24 GiB heap, 3 memory types, budget 18 GiB:
      • idle: 12 GiB;
      • usage 8 GiB: 7936 MiB;
      • 4 GiB of live imports: 12032 MiB;
      • usage 17 GiB: 0;
      • no report: the configured value;
    • a heap with no host-coherent type: the configured value;
    • a discrete device with a separate host heap: 10752 MiB (unchanged).
  • The new test fails on main and passes with the change.
  • macOS (Apple M2, 24 GB, x86-64 under Rosetta, MoltenVK, ASTRO BOT PPSA21567): one run with host imports on. The log shows host heap 0 reports a VK_EXT_memory_budget budget of 18186 MiB and a usage of 9643 MiB, and imports were held to 11200 MiB. This line did not appear before the change. MoltenVK counts the imports in the heap usage.
  • Limit: Metal's budget does not include the memory that other applications use. In that run the Mac had about 1.7 GiB free before the start and ran out of physical memory at about 12.9 of 18.2 GiB heap usage. This change does not prevent that. A guard on free physical memory is a different change.
  • Validation layer: the test was run with ANYPS5_REQUIRE_VULKAN=1, ANYPS5_NO_SHADER_CACHE=1 and VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation (layer v1.4.363, x86-64, MoltenVK). The log has no was not found but was requested by env var VK_INSTANCE_LAYERS and no VUID- line. agc_driver_graphics_tests creates no Vulkan instance (VK_LOADER_DEBUG=all prints nothing), so the layer did not check any call. The change adds no Vulkan call.
  • Not tested: Linux, Windows, KosmicKrisp, a run of this test on main (main does not build on macOS).

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Fixes: none
  • Unblocks: PPSA21567 (ASTRO BOT), host imports on macOS; no discussion number
  • GPUs tested: n/a for the unit test (CPU side, mocked heaps). The title run used Apple M2, MoltenVK (mesh/native build, Add VK_EXT_mesh_shader support KhronosGroup/MoltenVK#2842), macOS 27.0. The validation layer was enabled but the test makes no Vulkan call (see Tested).
  • AI-assisted: yes

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the unblocks title Names a title ID on the Unblocks line label Oct 26, 2026
@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.

Pull request Shared files not compared
PR 1395 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 2434 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 4040 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 5021 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 5925 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 6186 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 6194 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 6197 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 6235 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 6280 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 6481 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 6548 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 6565 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 6808 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 6918 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 6970 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 7085 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 7256 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 7410 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 7457 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 7514 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 7642 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 7668 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 8212 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 8246 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9012 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 9020 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9335 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9356 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9387 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9489 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9508 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9675 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9700 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9712 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9852 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 9875 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9895 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 9898 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 9915 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 10025 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 10049 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 10442 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 10556 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 11825 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 11998 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 12157 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 12662 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 12840 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 12944 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 12980 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 13148 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 13858 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 14032 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 14621 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 14852 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 14943 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
PR 14944 core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
PR 14976 core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp

@MarcZX10 MarcZX10 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed head 269fb645e30d2ba243f566ff0ac29c1d714fbad9. The fallback only runs when no non-device-local heap exists, and selects a valid heap referenced by a host-visible, host-coherent memory type. The tests cover a unified heap under usage, live-import subtraction, missing budget report and absent coherent type, plus a discrete device that must keep its separate host heap; the expected 64 MiB rounding matches HostImportBudgetFor. I checked the notable #6548 overlap: it selects a coherent memory type for an actual host import, while this PR selects the heap whose budget constrains imports; these are distinct decisions. The PR reports the mocked heap tests and a macOS/MoltenVK title run; I did not rerun the tests locally. Hosted eligibility, conventions, intake, labels and report pass; product/relinker builds are skipped by path policy. No blocking issue found.

@github-actions github-actions Bot added the agc libSceAgc* label Oct 27, 2026

@jotitadev jotitadev left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Linux run, including the main run that macOS couldn't do.

Linux run: Ubuntu 26.04, GCC 15.2, Release. RTX 3070 (NVIDIA 595.99.02) and lavapipe (Mesa 26.0.3), one at a time via VK_DRIVER_FILES. Khronos validation layer 1.4.341 with ANYPS5_REQUIRE_VULKAN=1 ANYPS5_NO_SHADER_CACHE=1; VK_LOADER_DEBUG=layer shows the layer inserted, no "was not found but was requested", 0 VUID- lines.

Base main 808a557ac; the merge of 269fb645e is clean.

  • Red: main + only this PR's tests/Graphics.cpp: agc_driver_graphics fails with a unified heap used by other allocations did not lower the import budget.
  • Green: agc_driver_graphics, agc_host_import* and agc_driver_host_import* (11 tests) pass 3/3 on each device. 0 VUID-. Both devices have a separate host heap, so this is the discrete path.
  • ^agc suite (no flip/display/lds64, -j1): 3070 1052/1052, lavapipe 1051/1052. The one failure is agc_driver_multisample_retirement, which also fails on main.
  • Builds on Linux/GCC; public_headers passes.

GPUs tested: NVIDIA RTX 3070 (Linux), lavapipe.

Written with AI assistance (Claude Code). I ran the builds and tests above on my machine.

@oneandonlydean oneandonlydean self-assigned this Oct 27, 2026
@ycbuzi

ycbuzi commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Windows run of 269fb645e3 merged onto main 9af563f33d (b11a59545a, clean). Windows 11 Home 10.0.26200, WinLibs GCC 15.2.0 r7 (MinGW-w64 UCRT), Release, BUILD_TESTING=ON.

  • The build has no errors. Its only warnings are main's two PipelineLibrary.cpp __builtin_memcmp ones.
  • The 35 tests of agc_driver_graphics_tests pass both runs of ctest --repeat until-fail:2, including the new unified-heap cases. They ran once each with ANYPS5_GPU set to an RTX 4070 SUPER, a GTX 1650 SUPER and an AMD iGPU, but this executable builds its context by hand and opens no device, so that's three Windows CPU-side runs.
  • Negative control: with main's Graphics/src/GuestBufferMemory.cpp and this head's test, agc_driver_graphics fails with AGC graphics: a unified heap used by other allocations did not lower the import budget.

A data point for integrated GPUs on Windows: AMD's driver doesn't report this iGPU (Ryzen 9 7900, 1002:164e, driver 25.10.30.02) as one unified heap. vulkaninfo lists heap 0 (5.26 GiB, no flags; memory types 0x6 and 0xe) and heap 1 (10.52 GiB, DEVICE_LOCAL; it also has a DEVICE_LOCAL | HOST_VISIBLE | HOST_COHERENT type, 0x7). hostHeapIndex's first loop already returns heap 0 there, so the new fallback isn't reached and this device keeps main's budget. The fallback applies to devices whose heaps are all DEVICE_LOCAL, like the M2 in Tested.

AI-assisted: yes (Claude Code)

@maskym

maskym commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

Windows + NVIDIA result for head 269fb645e3, merged into main f759e165d9 (the PR's GPUs tested line names no NVIDIA run on Windows).

This PR's own tests: agc_shader_memory (0.58 s) and the agc_driver_graphics_tests suite (agc_driver_msaa_dcc_state, agc_driver_depth_bounds_state, agc_driver_alpha_to_coverage_state, agc_driver_undithered_alpha_to_coverage_state, agc_driver_unused_viewport_depth, agc_command_batch_fence_failure), all passed. The host import budget decision itself: this device reports one device-local heap and the host heap separately (not a unified heap), so the unified-heap branch was not exercised here.

Host: Windows 11 26300, Intel i7-12700K, NVIDIA GeForce RTX 2070 SUPER (vendor 0x10de, device 0x1e84; Vulkan loader 1.4.357 from the NVIDIA driver 621.01), Khronos Validation Layers nightly 1.4.366 (b2b44c0d37) through VK_ADD_LAYER_PATH, WinLibs GCC 15.2.0 (x86_64-ucrt-posix-seh, r6), Release, BUILD_TESTING=ON, Ninja.

Same focused run on main f759e165d9 and on this tree, same machine and GPU: VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation, ANYPS5_NO_SHADER_CACHE=1, ANYPS5_REQUIRE_VULKAN=1, VK_LOADER_DEBUG=error,warn,layer, ctest --test-dir build -R '^(agc|guest_video_out|video_out)' --parallel 4 -V.

The tree also carried the open PRs #11948, #12062, #12132, #12070, #11680, #11679, #11678, #11677, #11675, #11674, #11605, #11604, all merged cleanly, so the run is a joint one. Not run on a PS5.

AI-assisted: yes (Claude Code), the runs and the numbers above are from this machine.

@TechLevelZero

TechLevelZero commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

✅ NVIDIA GPU test: passed

PR head 269fb64 merged onto main 0836dfd · tested 2026-11-01 02:08 UTC · 22 min

GPU NVIDIA RTX 2000 Ada Generation, driver 595.99.02, Vulkan 1.4.329
Host Ubuntu 26.04.1 LTS, kernel 7.0.0-38-generic, container ubuntu:24.04
Logs build and test logs for this run
Build ✅ passed (Release, -DANYPS5_ENABLE_SPIRV_TOOLS=ON)
Tests ✅ 2,393 passed · 7 failed (0 new, 4 also fail on main, 3 unstable on main) · 44 skipped (ANYPS5_REQUIRE_VULKAN=1)
Test setup CPU-only tests without a GPU; GPU tests (and any CPU-only test that failed or skipped without one) once on the GPU with VK_LAYER_KHRONOS_validation and ANYPS5_NO_SHADER_CACHE=1; main ran the same way
Test selection 2,444 of 3,087 tests run: the ones this change can reach, chosen by tools/select_tests.py from main's build graph
Vulkan validation ✅ no new validation IDs vs main (924 tests run on the GPU)
Slow tests (>30 s, GPU tests timed with validation layers) ⚠️ agc_driver_pipeline_journal 48.4 s, ⚠️ agc_driver_graphics_maps_fallback 32.9 s, ⚠️ agc_driver_graphics 31.2 s
Intermittent validation messages (1, seen once in the parallel run, not reproduced when the test was re-run alone 2 times; not counted against this PR)
agc_driver_depth_clear_hle: VUID-vkCmdCopyBuffer-commonparent (6x)
Unstable on main (3, these also failed in recent main runs on this machine; not counted against this PR)
agc_driver_depth_clear_hle: failed in 2 of the last 10 main runs
agc_submit_progress: failed in 7 of the last 10 main runs
agc_submit_progress_no_timeline: failed in 9 of the last 10 main runs
Failing on main too (4, not counted against this PR)
agc_driver_idle_store_yields
agc_driver_image_table
guest_mmap_executable
guest_socket_options_multicast
Validation IDs already present on main (5 IDs in 476 tests)
VUID-VkDeviceCreateInfo-pNext-pNext (476 tests): agc_driver, agc_driver_address_passes, agc_driver_alias_copy_label, agc_driver_alpha_to_coverage, agc_driver_array_layer_target, agc_driver_bc_block_copy, agc_driver_bda_anchor_reads, agc_driver_bda_span_reads, and 468 more
VUID-vkCmdCopyImage-srcImage-01548 (7 tests): agc_driver_depth_clear_hle, agc_driver_depth_plane_buffer_memory, agc_driver_depth_plane_partial_store, agc_driver_depth_plane_sampling, agc_driver_depth_storage_dispatch, agc_driver_depth_surface_from_storage, agc_driver_dispatch_move_depth
VUID-vkCmdCopyImage-srcImage-01551 (7 tests): agc_driver_depth_clear_hle, agc_driver_depth_plane_buffer_memory, agc_driver_depth_plane_partial_store, agc_driver_depth_plane_sampling, agc_driver_depth_storage_dispatch, agc_driver_depth_surface_from_storage, agc_driver_dispatch_move_depth
VUID-VkPipelineColorBlendStateCreateInfo-pAttachments-00605 (1 test): agc_driver_prepared_exports
VUID-VkShaderModuleCreateInfo-pCode-08737 (1 test): agc_driver_image_sample_derivatives
Skipped (44)
agc_driver_bda_reads_shadowed_results: skipped, the device reports watched host memory written when it imports or reads it
agc_driver_bda_reads_shadowed_results_per_build: skipped, the device reports watched host memory written when it imports or reads it
agc_driver_sample_order_grid_reference: skipped, the device does not keep depth drawn at custom sample locations at those locations, even after a transition that names them: the composite of uniform renders holds the guest's depth in 0 of 3005 sloped samples, so no path can be compared with it bit for bit
agc_host_import_sparse: skipped, host imports are unavailable: /dev/udmabuf is not accessible
agc_import_settle_initial_dcc: skipped, the device has no deferred settle of host imports: imports under 1 MiB wait for one only on Windows
agc_unit_shadow_completion_store: skipped, the device reports watched host memory written when it imports or reads it
guest_http_uri_locale: 
guest_net_ctl: skipped, the host has no IPv4 address
guest_video_out_color_space: skipped, no display or Vulkan device: SDL_InitSubSystem(VIDEO | GAMECONTROLLER) failed: wayland,x11 not available
guest_video_out_hdr: skipped, no display or Vulkan device: SDL_InitSubSystem(VIDEO | GAMECONTROLLER) failed: wayland,x11 not available
guest_video_out_high_frame_rate: skipped, no display or Vulkan device: SDL_InitSubSystem(VIDEO | GAMECONTROLLER) failed: wayland,x11 not available
guest_video_out_output_mode: skipped, no display or Vulkan device: SDL_InitSubSystem(VIDEO | GAMECONTROLLER) failed: wayland,x11 not available
guest_video_out_resolution_status: skipped, no display or Vulkan device: SDL_InitSubSystem(VIDEO | GAMECONTROLLER) failed: wayland,x11 not available
guest_video_out_wqhd_detection: skipped, no display or Vulkan device: SDL_InitSubSystem(VIDEO | GAMECONTROLLER) failed: wayland,x11 not available
video_out_flip_aftergpu: skipped, no display or Vulkan device: DisplayWindow: Vulkan support is either not configured in SDL or not available in current SDL video driver (offscreen) or platform
video_out_flip_backtoback: skipped, no display or Vulkan device: DisplayWindow: Vulkan support is either not configured in SDL or not available in current SDL video driver (offscreen) or platform
video_out_flip_controls: skipped, no display or Vulkan device: DisplayWindow: Vulkan support is either not configured in SDL or not available in current SDL video driver (offscreen) or platform
video_out_flip_cpuflip: skipped, no display or Vulkan device: DisplayWindow: Vulkan support is either not configured in SDL or not available in current SDL video driver (offscreen) or platform
video_out_flip_cpuflip_in_order: skipped, no display or Vulkan device: DisplayWindow: Vulkan support is either not configured in SDL or not available in current SDL video driver (offscreen) or platform
video_out_flip_dcc: skipped, no display or Vulkan device: DisplayWindow: Vulkan support is either not configured in SDL or not available in current SDL video driver (offscreen) or platform
video_out_flip_deferred: skipped, no display or Vulkan device: DisplayWindow: Vulkan support is either not configured in SDL or not available in current SDL video driver (offscreen) or platform
video_out_flip_eop: skipped, no display or Vulkan device: DisplayWindow: Vulkan support is either not configured in SDL or not available in current SDL video driver (offscreen) or platform
video_out_flip_eop_aftergpu: skipped, no display or Vulkan device: DisplayWindow: Vulkan support is either not configured in SDL or not available in current SDL video driver (offscreen) or platform
video_out_flip_eop_main: skipped, no display or Vulkan device: DisplayWindow: Vulkan support is either not configured in SDL or not available in current SDL video driver (offscreen) or platform
video_out_flip_fresh: skipped, no display or Vulkan device: DisplayWindow: Vulkan support is either not configured in SDL or not available in current SDL video driver (offscreen) or platform
video_out_f
Reproduce
git fetch origin 269fb645e30d2ba243f566ff0ac29c1d714fbad9 0836dfdf4fecb1e0326100c490476e15d3a74da5
git checkout 0836dfdf4fecb1e0326100c490476e15d3a74da5 && git merge --no-ff 269fb645e30d2ba243f566ff0ac29c1d714fbad9
git submodule update --init --recursive
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DANYPS5_ENABLE_SPIRV_TOOLS=ON
cmake --build build && cmake --build build --target libs
VK_DRIVER_FILES=/nonexistent/icd.json ctest --test-dir build -E '^(agc|shader|recompiler|videoout|video_out|guest_video_out|vulkan)|gpu' --timeout 120 --parallel 32 --output-on-failure
ANYPS5_REQUIRE_VULKAN=1 ANYPS5_NO_SHADER_CACHE=1 VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation \
  ctest --test-dir build -R '^(agc|shader|recompiler|videoout|video_out|guest_video_out|vulkan)|gpu' --timeout 120 --parallel 4 --output-on-failure
# failures are then re-run alone: --timeout 360 --parallel 2; new validation IDs: the test alone, twice, --parallel 1

Automated build and test on a contributor's NVIDIA machine; it does not replace upstream CI. A new comment is posted for each new push. Full logs.

@github-actions github-actions Bot added review queue Next in the maintainer review queue: checks pass, no open change request, no conflict and removed review queue Next in the maintainer review queue: checks pass, no open change request, no conflict labels Nov 2, 2026
@oneandonlydean
oneandonlydean merged commit b530ca7 into boykopovar:main Nov 2, 2026
11 checks passed
@github-actions github-actions Bot removed the review queue Next in the maintainer review queue: checks pass, no open change request, no conflict label Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agc libSceAgc* unblocks title Names a title ID on the Unblocks line

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants