Repository navigation
fix(agc): restore the standalone visual demo - #2244
Conversation
|
Independent Windows/Vulkan validation on a second GPU:
This validates the standalone visual-test target on an RX 580. The full repository build and full CTest suite were not run. |
|
Native Apple M2 validation passed for this PR in a local integration with the existing macOS dependencies. Environment: Apple M2, 16 GB RAM; macOS 27.2 beta 3; Apple Clang 21.0.0 / SDK 27.0; CMake 4.4.4; Ninja 1.13.2; MoltenVK 1.4.2. Release ARM64 build with pinned dependencies and bundled SDL compiled from source. Exact integration:
The visual source-list merge conflict was resolved using this PR's Results:
Limitations: Visible output and interactive window closing remain unverified: the interactive process initialized, but desktop automation could not inspect the standalone executable or send Escape because macOS denied accessibility access. That process was stopped externally. The demo creates a non-resizable window. Its shaders are GLSL-generated SPIR-V; the separate vertex-fetch fixture exercises guest-recompiled shaders. No games or full suite were tested. The placeholder fallback's null-image writes are not equivalent to discarded null-descriptor writes. Build/run configuration, with cmake -S "$repo" -B "$build" -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_OSX_DEPLOYMENT_TARGET=27.0 -DBUILD_TESTING=ON -DANYPS5_ENABLE_SPIRV_TOOLS=ON -DAGC_BUILD_VISUAL_TEST=ON
cmake --build "$build" --target agc_driver_visual_test -j 4
unset APS5_SPIRV_OPT
env VK_DRIVER_FILES=/opt/homebrew/opt/molten-vk/etc/vulkan/icd.d/MoltenVK_icd.json DYLD_LIBRARY_PATH=/opt/homebrew/opt/vulkan-loader/lib ANYPS5_REQUIRE_VULKAN=1 ANYPS5_NO_SHADER_CACHE=1 ANYPS5_GPU='Apple M2' "$build/tests/agc_driver_visual_test" --verifyThe actual checks used a Python subprocess wrapper with a 30-second timeout. Reproduction requires the integrated branches listed above. AI-assisted validation using Codex, with independent subagent review. |
|
Follow-up human validation on the Apple M2: the triangle displayed correctly, including the requested cover/uncover check. Focusing the demo and pressing Escape closed it normally; the process exited0. On a separate relaunch, clicking the red window-close button also closed it normally with exit0. This completes the previously pending visible-output and physical close-event checks for this local integrated demo. It does not establish game compatibility or that PR2244 alone runs on macOS. |
|
Independent controlled RX 580 verification (Windows; Radeon RX 580 Series; driver 31.0.21924.61). I clean-configured and built
This is a repeatable baseline-vs-PR result on one GPU/driver and supports the fix on RX 580, while not claiming root-cause proof or broader hardware coverage. Full local report: |
What
Restore the optional
agc_driver_visual_testtarget. Its manually maintained source list is missing current driver dependencies, and its render setup does not populate the color-target and blend-state lists the driver now uses.agcDriverSourcesand link the shader recompiler and libkernel. Copy the unpatched libkernel beside the executable on Windows, together with the existing libc and MinGW runtimes.Only the standalone demo and its build definition change. No production shader instruction semantics or system-library exports change.
Overlap review: checked 521 open PRs and inspected the 60 touching the demo or its build files. No duplicate demo repair was found. #2169 adds a source to the manual visual source list replaced here, producing a textual merge conflict; its source is also added to
agcDriverSources, which this target now reuses. #1128 formatsVisual.cpp. Neither PR is a prerequisite; overlapping edits may need reconciliation when merged.Tested
Windows 11 x64; Ryzen 9 5900X; NVIDIA RTX 3080 Ti; WinLibs GCC 15.2.0
x86_64-ucrt-posix-seh, release15.2.0posix-14.0.0-ucrt-r7; CMake 4.3.1; Ninja 1.13.2; Release configuration.libstarget passed. Full CTest run with four parallel tests: 506 passed, one expected skip (guest_video_out_wqhd_detection_no_vulkan), zero failures; 63.51 seconds.AGC_BUILD_VISUAL_TEST=ONandBUILD_TESTING=OFFpassed.ANYPS5_NO_SHADER_CACHE=1, threeagc_driver_visual_test.exe --verifyruns passed. Indexed/non-indexed pixel comparison, triangle-center and background checks passed. The interactive window also displayed the colored triangle.python tools/check_conventions.py --base origin/mainandgit diff --checkpassed.No PS5 game was tested. Linux and other GPUs are untested. Contributors with Linux hardware and a Vulkan-capable GPU are invited to build this branch, run
agc_driver_visual_test --verifyand the interactive demo, and share their distribution, compiler, GPU/driver, and results on this PR. Reports and follow-up fixes are welcome.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt (no exports or stubs added).mdfiles or images added to the repository (attach them to this PR)