Fix Q3/OpenArena compat check and document Vulkan classic play#230
Open
timfox wants to merge 14 commits into
Open
Fix Q3/OpenArena compat check and document Vulkan classic play#230timfox wants to merge 14 commits into
timfox wants to merge 14 commits into
Conversation
The cs_autoInit guard only matched ri.Cvar_Get, but qcommon uses Cvar_Get in csharp_debug.c. Accept both patterns and document Vulkan troubleshooting for classic Quake III / OpenArena installs. Co-authored-by: Tim Fox <timfox@outlook.com>
- examples/q3_vulkan_compat.cfg for optional classic-mod renderer tuning - q3_openarena_compat_check registered in CTest (validation;smoke) - Link example from COMPATIBILITY.md and examples/README.md Co-authored-by: Tim Fox <timfox@outlook.com>
- Do not ERR_FATAL when swapchain lacks TRANSFER_SRC (r_fbo 0); warn and disable screenshot readback instead; only request supported usage flags. - Rebuild world pipelines when r_lightmap_srgb_decode changes (Q3/OA HDR fix). - test_vk_vegetation_dispatch_order: use grep instead of rg for portability. - Extend source guards; fix devdata OPTIONAL_GAME_ASSETS path comment. Co-authored-by: Tim Fox <timfox@outlook.com>
- VK_SetLightParams: skip legacy r_gamma light scaling when r_fbo/HDR active. - OpenGL dlight ARB path: same when r_hdr 1/2. - Expand q3_openarena_compat_check for swapchain, lightmap, and dlight guards. - Document volumetric fog on alpha geometry; dedupe validate_ci_build q3 run. - Update HDR_GAPS §6.7 to match implementation. Co-authored-by: Tim Fox <timfox@outlook.com>
- Add run_renderer_tier_b_devdata.sh (rtest_base map load + asset manifest). - CTest renderer_regression_maps_devdata; validate_ci_build step 6b. - production_readiness uses devdata when GAME_BASE unset. - Auto-select devdata OPTIONAL_GAME_ASSETS when GAME_BASE is rtest_base. Co-authored-by: Tim Fox <timfox@outlook.com>
- evidence_status.sh: detect shipped rtest_base devdata path. - bootstrap_ioq3_qvm.sh for rebuilding qagame.qvm when devdata is missing. - FINDINGS Tier A row for 2026-05-29 automated gate; AGENTS.md ctest note. Co-authored-by: Tim Fox <timfox@outlook.com>
- docs/Q3_OPENARENA_VULKAN.md consolidates setup, scripts, and tuning. - CHANGELOG [Unreleased] entries for compat, Tier B, and Vulkan fixes. - Link from QUICKSTART and COMPATIBILITY. Co-authored-by: Tim Fox <timfox@outlook.com>
When SDL cannot create a VK_KHR_surface window (headless CI, missing ICD), fall back to OpenGL before VKimp_Init fatals — Q3/OA and demo shells still start. ARM-only guard removed; compat check and docs updated. Co-authored-by: Tim Fox <timfox@outlook.com>
Co-authored-by: Tim Fox <timfox@outlook.com>
- Resolve idtech3/idtech3_server with .exe and arch suffixes like smoke_test.sh - Scan binaries with grep -a and strings -a/-el (PE-safe) instead of strings|grep - Add q3_compat markers in qcommon so stripped Windows builds retain QVM/fs strings Co-authored-by: Tim Fox <timfox@outlook.com>
…spec_energy check - Add stage_ci_release.sh (copy scripts + example cfgs like compile_engine.sh) - GHA: use staging before smoke/ctest; chmod validation scripts; ctest -j1 on Ubuntu - spec_energy_runtime_check: release_bin PE scans; skip when Python wrapper absent - level_up_validate: fix ctest filter regex Co-authored-by: Tim Fox <timfox@outlook.com>
Co-authored-by: Tim Fox <timfox@outlook.com>
CMake picks up new qcommon sources via AUX_SOURCE_DIRECTORY; the MSVC quake3e and quake3e-ded projects list sources explicitly. Add the three files so ARM64/x64 Debug server and client builds resolve Q3_Compat_TouchMarkers, Com_ScriptEmitEvent, and cs_* command stubs. Co-authored-by: Tim Fox <timfox@outlook.com>
Co-authored-by: Tim Fox <timfox@outlook.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Smoke tests and CI validation were failing on
q3_openarena_compat_check.sheven though Vulkan/QVM compatibility was intact.cs_autoInitfalse positive: The check only matchedri.Cvar_Get, butcsharp_debug.cregisters the cvar with qcommonCvar_Get( "cs_autoInit", "0", ... ). Addedassert_cvar_default_offhelper that accepts both registration styles.docs/COMPATIBILITY.md(HDR/lightmap, FBO fallbacks,run_vulkan.sh, compat script).Verification
./scripts/q3_openarena_compat_check.sh release— pass (13/13)./scripts/smoke_test.sh release— passctest -R smoke_test— passNo engine binary changes; classic QVM path and Vulkan default-off feature cvars unchanged.