a4e7d8ab90
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>
17 lines
649 B
GLSL
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);
|
|
}
|