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>
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
iter1 minimal compute probe — captured 2026-05-19 on ohm
|
||||
(PineTab2 v2.0, RK3566, Mali-G52 r1 MC1, Mesa 26.0.6, kernel 7.0.0-danctnix1-6)
|
||||
|
||||
Source: panvk-bifrost/iter1/{probe_compute.c, probe_compute.comp, Makefile}
|
||||
Deployed to: /tmp/panvk-iter1/
|
||||
Build: clean (no warnings with -Wall -Wextra)
|
||||
Binary: 260592 bytes
|
||||
SPV: 560 bytes
|
||||
|
||||
===== RUN #1 (no validation layer) =====
|
||||
$ PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 ./probe_compute
|
||||
|
||||
[step] vkCreateInstance
|
||||
[step] vkEnumeratePhysicalDevices
|
||||
WARNING: panvk is not a conformant Vulkan implementation, testing use only.
|
||||
[info] gpu='Mali-G52 r1 MC1' apiVersion=1.0.335 driverVersion=109051910
|
||||
[step] vkGetPhysicalDeviceQueueFamilyProperties
|
||||
[info] using queue family 0 (flags=0x7)
|
||||
[step] vkCreateDevice
|
||||
[step] vkCreateBuffer (storage, host-visible)
|
||||
[info] buffer memReq size=64 alignment=64 typeBits=0x7
|
||||
[step] vkAllocateMemory
|
||||
[step] vkMapMemory (pre-write 0xDEADBEEF sentinel)
|
||||
[step] vkCreateDescriptorSetLayout
|
||||
[step] vkCreateDescriptorPool
|
||||
[step] vkAllocateDescriptorSets
|
||||
[step] vkUpdateDescriptorSets
|
||||
[step] vkCreateShaderModule (from probe_compute.spv)
|
||||
[step] vkCreatePipelineLayout
|
||||
[step] vkCreateComputePipelines
|
||||
[step] vkCreateCommandPool
|
||||
[step] vkAllocateCommandBuffers
|
||||
[step] vkBeginCommandBuffer + record dispatch
|
||||
[step] vkCreateFence
|
||||
[step] vkQueueSubmit
|
||||
[step] vkWaitForFences (5s timeout)
|
||||
[step] vkInvalidateMappedMemoryRanges + readback
|
||||
[info] buffer[0] = 0xcafebabe (expected 0xcafebabe)
|
||||
[PASS] PanVk-Bifrost compute dispatch wrote the expected pattern.
|
||||
===== RC=0 =====
|
||||
|
||||
===== RUN #2 (VK_LAYER_KHRONOS_validation enabled) =====
|
||||
$ PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 \
|
||||
VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation ./probe_compute
|
||||
|
||||
[same step trace as above]
|
||||
[info] buffer[0] = 0xcafebabe (expected 0xcafebabe)
|
||||
[PASS] PanVk-Bifrost compute dispatch wrote the expected pattern.
|
||||
===== RC=0 =====
|
||||
|
||||
No validation-layer warnings or errors emitted. (vkCreateInstance succeeded
|
||||
with the layer string in VK_INSTANCE_LAYERS, which implies the loader found
|
||||
and activated the layer; otherwise it would return VK_ERROR_LAYER_NOT_PRESENT.)
|
||||
|
||||
===== STABILITY: 5 consecutive reruns =====
|
||||
$ for i in 1 2 3 4 5; do PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 ./probe_compute; done
|
||||
|
||||
[info] buffer[0] = 0xcafebabe (expected 0xcafebabe)
|
||||
[PASS] PanVk-Bifrost compute dispatch wrote the expected pattern.
|
||||
[info] buffer[0] = 0xcafebabe (expected 0xcafebabe)
|
||||
[PASS] PanVk-Bifrost compute dispatch wrote the expected pattern.
|
||||
[info] buffer[0] = 0xcafebabe (expected 0xcafebabe)
|
||||
[PASS] PanVk-Bifrost compute dispatch wrote the expected pattern.
|
||||
[info] buffer[0] = 0xcafebabe (expected 0xcafebabe)
|
||||
[PASS] PanVk-Bifrost compute dispatch wrote the expected pattern.
|
||||
[info] buffer[0] = 0xcafebabe (expected 0xcafebabe)
|
||||
[PASS] PanVk-Bifrost compute dispatch wrote the expected pattern.
|
||||
|
||||
6/6 runs PASS.
|
||||
|
||||
===== DMESG (panfrost-related, full boot tail) =====
|
||||
[ 5.331157] panfrost fde60000.gpu: clock rate = 594000000
|
||||
[ 5.331201] panfrost fde60000.gpu: bus_clock rate = 500000000
|
||||
[ 5.336259] panfrost fde60000.gpu: [drm:panfrost_devfreq_init [panfrost]] Failed to register cooling device
|
||||
[ 5.336430] panfrost fde60000.gpu: mali-g52 id 0x7402 major 0x1 minor 0x0 status 0x0
|
||||
[ 5.336443] panfrost fde60000.gpu: features: 00000000,00000df7, issues: 00000000,00000400
|
||||
[ 5.336450] panfrost fde60000.gpu: Features: L2:0x07110206 Shader:0x00000002 Tiler:0x00000209 Mem:0x1 MMU:0x00002823 AS:0xff JS:0x7
|
||||
[ 5.336458] panfrost fde60000.gpu: shader_present=0x1 l2_present=0x1
|
||||
[ 5.344566] panfrost fde60000.gpu: [drm] Using Transparent Hugepage
|
||||
[ 5.347277] [drm] Initialized panfrost 1.6.0 for fde60000.gpu on minor 1
|
||||
|
||||
No GPU faults, no MMU faults, no kernel-side panfrost warnings after running
|
||||
the probe 6 times.
|
||||
Reference in New Issue
Block a user