Skip to content

wrapper: capture bounded Zink shader and pipeline state for KOTOR II - #64

Open
butilly wants to merge 1 commit into
wrapper-25from
fix/kotor2-wrapper-state-diagnostic
Open

butilly wants to merge 1 commit into
wrapper-25from
fix/kotor2-wrapper-state-diagnostic

Conversation

@butilly

@butilly butilly commented Nov 9, 2026

Copy link
Copy Markdown
Collaborator

Game: STAR WARS Knights of the Old Republic II; executable swkotor2.exe; thread 1569316071515627651.

The latest report retains 3D corruption at 91.5 average FPS over 123 seconds on Mali-G615, with no throttling or crash. Frame Buffer=0, DisableVertexBufferObjects=1, Soft Shadows=0 and force_gl_names_reuse=true did not resolve it. Zink warns about missing logicOp, fillModeNonSolid, shaderClipDistance and EXT_depth_clip_enable, but these are startup capability warnings, not evidence of the failing operation. WRAPPER_LOG_LEVEL=validation was tried and reports that the layer is unavailable.

Existing info logging only prints pipeline return codes; shader logging dumps binaries to external storage, and validation/apidump depend on external layers. This diagnostic emits bounded shader hashes and ClipDistance/CullDistance capabilities, module-to-pipeline associations, static raster/depth/blend state, dynamic-state identifiers, native capabilities and pipeline creation outcomes directly to the captured stderr. Only mesa zink instances are logged. Limits are explicit; static states are not claimed to be effective dynamic draw state. No feature advertising or rendering behavior is changed.

Keep Proton 9 arm64ec and the current game files. Run the same corrupted scene for 60 seconds. Inspect WRAPPER_ZINK_DIAG for actual clipping capability use, unsupported static state that is not overridden dynamically, or creation failures before choosing a fix. First custom component diagnostic in this thread; prior custom attempt was an INI patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant