Files
panvk-bifrost/mesa-panvk-bifrost/iter16/probe_winding.vert
T
marfrit a4e7d8ab90 initial seed: retrofit campaign lineage from local working trees
panvk-bifrost campaigns (r1..r4 Vulkan compositor + r5.video1 Vulkan
video decode) shipped before this repo existed; the deliverable
patches live in marfrit-packages, but the reasoning chain, phase docs,
and source-state evidence lived only in local working trees on the
development host.

This retrofit imports:
- mesa-panvk-bifrost/   — r1..r4 era phase docs (iter1..iter18)
                          (libmali stub blobs at iter18/blob/ excluded
                          — 109MB of RE artifacts replaced with a README
                          pointer)
- mesa-panvk-bifrost-video/ — sibling campaign phase docs + probe
- evidence/             — frozen .tgz source snapshots at each milestone
                          (basis for the 0005 patch diff generation)

Future iterations should branch off here from day one, so each iter is
a commit rather than a snapshot. See [[feedback-session-local-process-pins]]
for the process drift this retrofit closes.

Total: 1.9 MB across 124 files.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 05:25:37 +02:00

17 lines
649 B
GLSL

#version 450
// iter16 winding probe vertex shader.
// Captures gl_VertexIndex as a single uint32 per VS invocation.
// With non-LIST topologies + XFB, the spec requires the captured buffer
// to be primitive-decomposed — i.e., MORE outputs than input vertices.
// iter13 fails this: it captures one entry per VS invocation (= one per
// input vertex). iter16 must inject driver-side decomposition so the
// captured stream matches the decomposed primitive sequence.
layout(xfb_buffer = 0, xfb_offset = 0, xfb_stride = 4, location = 0) out uint captured;
void main() {
gl_Position = vec4(0, 0, 0, 1);
captured = uint(gl_VertexIndex);
}