Skip to content

Commit a4c5e06

Browse files
fjtrujyclaude
andcommitted
docs: reflect that all 13 VU1 renderers build with openvcl + masp
Previously CMAKE_BUILD.md claimed only 11 of 13 renderers compiled with openvcl, listing `indexed` and `scei` as incompatible. Both now build cleanly with openvcl + masp, as confirmed by build-test/vu1/ containing all 13 .vo artifacts produced by the open pipeline. Also remove the commented-out skip block in CMakeLists.txt that used to fall back to pre-built objects for those two renderers. The fallback to pre-built .vo files via the outer if/elif/else for VU1 tools is preserved (still useful on hosts without the toolchain installed). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b74d303 commit a4c5e06

2 files changed

Lines changed: 7 additions & 25 deletions

File tree

CMAKE_BUILD.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ This document describes how to build ps2gl using CMake instead of the traditiona
1616
- The build automatically detects and prefers open-source tools (`openvcl` + `masp`) over proprietary ones (`vcl` + `gasp`)
1717
- If VU1 tools are not available (e.g., on macOS), the build will automatically use pre-built `.vo` object files from the `vu1/` directory
1818
- Pre-built objects can be generated by running the build once with VU1 tools available
19-
- **OpenVCL compatibility**: 11 out of 13 renderers compile successfully with openvcl. The `indexed` and `scei` renderers require proprietary `vcl` or use pre-built objects as they are incompatible with openvcl
19+
- **OpenVCL compatibility**: all 13 renderers (including `indexed` and `scei`) now compile successfully with `openvcl` + `masp`. The proprietary `vcl` + `gasp` toolchain remains supported as a fallback, but is no longer required.
2020

2121
## Building
2222

@@ -89,18 +89,19 @@ ps2gl includes VU1 assembly renderers that go through a complex preprocessing pi
8989
5. **Step 5**: `vcl`/`openvcl` compiler generates `.vsm` files
9090
6. **Step 6**: `dvp-as` assembler generates `.vo` object files
9191

92-
The CMake build handles all these steps automatically for the following renderers:
92+
The CMake build handles all these steps automatically for all 13 renderers:
9393

94-
### OpenVCL Compatible (11 renderers):
9594
- fast_nolights, fast
9695
- general, general_quad, general_tri
9796
- general_nospec, general_nospec_quad, general_nospec_tri
9897
- general_pv_diff, general_pv_diff_quad, general_pv_diff_tri
99-
100-
### Require proprietary VCL or use pre-built (2 renderers):
101-
- indexed (uses variable naming incompatible with openvcl)
98+
- indexed
10299
- scei
103100

101+
All 13 build with either `openvcl + masp` (preferred) or `vcl + gasp` (legacy
102+
fallback). The output `.vsm` from the open pipeline can be compared against
103+
the in-tree Sony reference (`vu1/sce_*_vcl.vsm`) for validation.
104+
104105
## CMake Toolchain
105106

106107
The build uses the PS2DEV CMake toolchain file located at:

CMakeLists.txt

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -157,25 +157,6 @@ foreach(RENDERER ${RENDERERS})
157157
continue()
158158
endif()
159159

160-
# Check if this renderer is known to be incompatible with openvcl
161-
# indexed renderer uses variable names that openvcl doesn't recognize
162-
# Temporarily disabled to try compiling with openvcl
163-
# if(OPENVCL_FOUND AND (RENDERER STREQUAL "indexed" OR RENDERER STREQUAL "scei"))
164-
# if(EXISTS ${VO_SOURCE})
165-
# message(STATUS "Using pre-built VU1 object for ${RENDERER}.vo (openvcl incompatible)")
166-
# add_custom_command(
167-
# OUTPUT ${VO_FILE}
168-
# COMMAND ${CMAKE_COMMAND} -E copy ${VO_SOURCE} ${VO_FILE}
169-
# DEPENDS ${VO_SOURCE}
170-
# COMMENT "Copying pre-built VU1 object: ${RENDERER}.vo"
171-
# )
172-
# list(APPEND VU1_OBJECTS ${VO_FILE})
173-
# else()
174-
# message(WARNING "Pre-built VU1 object not found: ${VO_SOURCE}")
175-
# endif()
176-
# continue()
177-
# endif()
178-
179160
# Step 1: .vcl -> _pp1.vcl (remove #include, #define, fix .include paths)
180161
add_custom_command(
181162
OUTPUT ${PP1_FILE}

0 commit comments

Comments
 (0)