[macOS] Add GS-free visual parity paths#8082
Conversation
|
Closing as this is in contravention of our AI usage policy. |
|
also this has been already done #7946 |
|
Thanks, you are right that #7946 already added NoGS fallbacks. I should have described this branch more narrowly. The distinction I was aiming for is fallback vs visual-parity replacement. In my earlier macOS experiments, simple quad/triangle fallback paths did get things rendering, and I had tried going down that same route first, but the result did not reproduce the polished BAR look I was seeing in gameplay videos. Some visible widgets, especially Health Bars GL4, did not match the original GS output very well. This branch tries to preserve the existing per-feature visual behavior by replacing the GS expansion with explicit mesh/triangle/VBO data, instead of using a simpler generic rectangle fallback. I understand the AI-policy closure and am not asking to reopen this PR as-is. If I revisit this, I will bring a smaller human-verified patch with head-to-head screenshots/logs. |
|
One more concrete example from this PR that I should have mentioned: To make that less abstract: in local BAR.app testing, Advanced/PIP minimap could show radar/sonar/range overlays but no live unit icons after spawn ( |
Summary
This is a draft PR for GS-free visual parity paths in BAR content.
It does not aim to disable visual features when geometry shaders are unavailable. Instead, it moves affected GL4 feature families toward equivalent mesh/VBO/vertex expansion paths:
DrawPrimitiveAtUnit_NoGS_Mesh.luaand switches the DPAU-based icon/plate/platter widgets to itGL.TRIANGLE_FANto explicitGL.TRIANGLESwhile preserving the official layout and angle mathWhy
On the macOS Zink/MoltenVK path, geometry shaders are unavailable. A renderer-missing fallback compiles, but it loses too much visual parity. The goal here is to preserve the Windows/Linux BAR visual intent using common GL4 data flows that do not require GS support.
Validation
git diff --checkgit ls-files --modified --others --exclude-standard '*.lua' | xargs -n 1 luac -pluac -p luaui/Widgets/gui_pip.luaafter the PIP/unitpic follow-upluac -p luaui/Widgets/gui_flowui.lua luaui/Widgets/gui_pip.luaafter the FlowUI progress follow-upRelated draft PRs
Notes for reviewers
This is intentionally draft. It should be reviewed feature-family by feature-family, especially the larger Healthbars, Unit Stencil, Decals, Nano Particles, Energy Explosion Particles, and PIP changes.
The PR deliberately avoids including local diagnostic overlays, HiDPI UI polish, BAR-data, generated app files, or machine-local state. The intended review question is whether these NoGS mesh/VBO paths are acceptable as parity-preserving replacements, not merely whether a lower-quality fallback would compile.