fix: add missing CS renderer struct members for Linux builds (#1596) - #1597
Open
luckyseoul wants to merge 1 commit into
Open
fix: add missing CS renderer struct members for Linux builds (#1596)#1597luckyseoul wants to merge 1 commit into
luckyseoul wants to merge 1 commit into
Conversation
OpenGL compute-shader path (vidcs.c) already reads/writes fields that were never declared on shared types, so source builds fail on Debian 13 and similar toolchains (see FCare#1596): - Vdp1.userclipMode: CMDPMOD Cmod (bit 9) from ST-013 §6.3, latched on user-clipping commands (inside/outside drawing mode) - vdp2draw_struct.bitmap_base / bitmap_wrap_size: bitmap NBG VRAM window for wrapped cell fetch - Ygl.sprite_rgb_priority_per_line / msb_shadow_enabled_per_line: per-line sprite priority (SPCLMD/PRISA) and MSB shadow enable (ST-058) Init userclipMode to 0 with other clip state. Add a small compile/run test (yabause/src/tests/cs_struct_members_test.c) that exercises the real header members used by vidcs.c. Docs: local archive saturn-docs/files/ST-013-R3-061694.pdf, saturn-docs/files/ST-058-R2-060194.pdf
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
Fixes #1596 (Debian 13 / source build failure in the OpenGL compute-shader path).
vidcs.calready assigns and reads fields that were never declared on the shared types, so compilers error withhas no member named 'userclipMode',bitmap_base,bitmap_wrap_size,sprite_rgb_priority_per_line, andmsb_shadow_enabled_per_line.This PR adds the missing members (with init for
userclipMode) and a small compile/run test that exercises those real header fields.Hardware / docs grounding
Vdp1.userclipModeST-013-R3-061694.pdf)vdp2draw_struct.bitmap_base/bitmap_wrap_sizeST-058-R2-060194.pdf)Ygl.sprite_rgb_priority_per_lineYgl.msb_shadow_enabled_per_lineLocal archive paths used while developing:
saturn-docs/files/ST-013-R3-061694.pdfsaturn-docs/files/ST-058-R2-060194.pdfTest plan
make -f Makefile.cs_struct_membersinyabause/src/tests→PASS(or compilecs_struct_members_test.cwith the include flags in that Makefile)Notes
userclipModeis software latched state alongside the existinguserclipX/Yfields (same pattern as other command-derived VDP1 state).libsdl2-dev/glfw3; verification used the focused header test that hits the same symbolsvidcs.crequires.