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>
208 lines
10 KiB
Plaintext
208 lines
10 KiB
Plaintext
Captured 2026-05-19 from ohm (PineTab2 v2.0 / RK3566 / Mali-G52 r1 MC1)
|
|
Command: PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 vulkaninfo
|
|
Stripped: leading "DISPLAY not set" / "XDG_RUNTIME_DIR invalid" stderr noise.
|
|
|
|
==========
|
|
VULKANINFO
|
|
==========
|
|
|
|
Vulkan Instance Version: 1.4.350
|
|
|
|
|
|
Instance Extensions: count = 19
|
|
===============================
|
|
VK_EXT_acquire_xlib_display : extension revision 1
|
|
VK_EXT_debug_report : extension revision 10
|
|
VK_EXT_debug_utils : extension revision 2
|
|
VK_EXT_direct_mode_display : extension revision 1
|
|
VK_EXT_display_surface_counter : extension revision 1
|
|
VK_EXT_headless_surface : extension revision 1
|
|
VK_EXT_layer_settings : extension revision 2
|
|
VK_KHR_device_group_creation : extension revision 1
|
|
VK_KHR_display : extension revision 23
|
|
VK_KHR_external_fence_capabilities : extension revision 1
|
|
VK_KHR_external_memory_capabilities : extension revision 1
|
|
VK_KHR_external_semaphore_capabilities : extension revision 1
|
|
VK_KHR_get_physical_device_properties2 : extension revision 2
|
|
VK_KHR_portability_enumeration : extension revision 1
|
|
VK_KHR_surface : extension revision 25
|
|
VK_KHR_wayland_surface : extension revision 6
|
|
VK_KHR_xcb_surface : extension revision 6
|
|
VK_KHR_xlib_surface : extension revision 6
|
|
VK_LUNARG_direct_driver_loading : extension revision 1
|
|
|
|
Device Properties and Extensions:
|
|
=================================
|
|
GPU0:
|
|
VkPhysicalDeviceProperties:
|
|
---------------------------
|
|
apiVersion = 1.0.335 (4194639)
|
|
driverVersion = 26.0.6 (109051910)
|
|
vendorID = 0x13b5
|
|
deviceID = 0x74021000
|
|
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
|
|
deviceName = Mali-G52 r1 MC1
|
|
pipelineCacheUUID = 287f3481-6415-7361-b1e9-14774b59e609
|
|
|
|
VkPhysicalDeviceLimits (selected):
|
|
----------------------------------
|
|
maxImageDimension1D = 65536
|
|
maxImageDimension2D = 16383
|
|
maxImageDimension3D = 512 # small — Bifrost limitation
|
|
maxImageDimensionCube = 16383
|
|
maxImageArrayLayers = 65536
|
|
maxBoundDescriptorSets = 4 # LOW — many engines want 8
|
|
maxPushConstantsSize = 256
|
|
maxComputeSharedMemorySize = 32768
|
|
maxComputeWorkGroupCount = 65535/65535/65535
|
|
maxComputeWorkGroupInvocations = 384
|
|
maxComputeWorkGroupSize = 384/384/384
|
|
maxViewports = 1 # single viewport
|
|
maxViewportDimensions = 16384/16384
|
|
maxFramebufferWidth/Height/Layers = 16384/16384/256
|
|
framebufferColorSampleCounts = {1x, 4x} # no 2x or 8x MSAA
|
|
maxColorAttachments = 8
|
|
timestampComputeAndGraphics = false # TIMESTAMPS BROKEN
|
|
timestampPeriod = 0
|
|
maxDrawIndirectCount = 1
|
|
maxClipDistances = 0 # no gl_ClipDistance
|
|
maxCullDistances = 0
|
|
|
|
VkPhysicalDeviceDriverPropertiesKHR:
|
|
------------------------------------
|
|
driverID = DRIVER_ID_MESA_PANVK
|
|
driverName = panvk
|
|
driverInfo = Mesa 26.0.6-arch1.1
|
|
conformanceVersion = 0.0.0.0
|
|
|
|
VkPhysicalDeviceFeatures (selected, supported):
|
|
-----------------------------------------------
|
|
robustBufferAccess = true
|
|
fullDrawIndexUint32 = true
|
|
imageCubeArray = true
|
|
independentBlend = true
|
|
sampleRateShading = true
|
|
dualSrcBlend = true
|
|
logicOp = true
|
|
drawIndirectFirstInstance = true
|
|
depthClamp = true
|
|
depthBiasClamp = true
|
|
wideLines = true
|
|
largePoints = true
|
|
samplerAnisotropy = true
|
|
textureCompressionETC2 = true
|
|
textureCompressionASTC_LDR = true
|
|
textureCompressionBC = true
|
|
occlusionQueryPrecise = true
|
|
shaderImageGatherExtended = true
|
|
shaderStorageImageExtendedFormats = true
|
|
shaderStorageImageReadWithoutFormat = true
|
|
shaderStorageImageWriteWithoutFormat = true
|
|
shaderUniformBufferArrayDynamicIndexing = true
|
|
shaderSampledImageArrayDynamicIndexing = true
|
|
shaderStorageBufferArrayDynamicIndexing = true
|
|
shaderStorageImageArrayDynamicIndexing = true
|
|
shaderInt64 = true
|
|
shaderInt16 = true
|
|
|
|
VkPhysicalDeviceFeatures (selected, NOT supported):
|
|
---------------------------------------------------
|
|
geometryShader = false # Mali never had geometry
|
|
tessellationShader = false # Mali never had tess
|
|
multiDrawIndirect = false
|
|
multiViewport = false
|
|
alphaToOne = false
|
|
fillModeNonSolid = false # no wireframe
|
|
depthBounds = false
|
|
pipelineStatisticsQuery = false
|
|
vertexPipelineStoresAndAtomics = false
|
|
fragmentStoresAndAtomics = false
|
|
shaderTessellationAndGeometryPointSize = false
|
|
shaderStorageImageMultisample = false
|
|
shaderClipDistance = false
|
|
shaderCullDistance = false
|
|
shaderFloat64 = false
|
|
shaderFloat16 = false # surprising — see 16bit_storage
|
|
shaderResourceResidency = false
|
|
shaderResourceMinLod = false
|
|
sparseBinding = false # v10+ only
|
|
sparseResidency* = false (all)
|
|
variableMultisampleRate = false
|
|
inheritedQueries = false
|
|
|
|
VkQueueFamilyProperties:
|
|
------------------------
|
|
queueProperties[0]:
|
|
queueCount = 1
|
|
queueFlags = QUEUE_GRAPHICS_BIT | QUEUE_COMPUTE_BIT | QUEUE_TRANSFER_BIT
|
|
timestampValidBits = 0 # timestamps broken
|
|
present support = false # no-surface query — needs WSI surface present
|
|
|
|
VkPhysicalDeviceMemoryProperties:
|
|
---------------------------------
|
|
memoryHeaps[0]:
|
|
size = 6043143168 (5.63 GiB) # UMA — full system RAM as device-local
|
|
flags = MEMORY_HEAP_DEVICE_LOCAL_BIT
|
|
memoryTypes:
|
|
[0] DEVICE_LOCAL_BIT
|
|
[1] DEVICE_LOCAL_BIT | HOST_VISIBLE_BIT | HOST_CACHED_BIT
|
|
[2] DEVICE_LOCAL_BIT | HOST_VISIBLE_BIT | HOST_COHERENT_BIT
|
|
|
|
Device Extensions: count = 118
|
|
==============================
|
|
[Full list — 118 extensions. Notable ones below; full list in repo at this path.]
|
|
|
|
VK_EXT_4444_formats VK_EXT_border_color_swizzle VK_EXT_buffer_device_address
|
|
VK_EXT_calibrated_timestamps VK_EXT_custom_border_color VK_EXT_depth_bias_control
|
|
VK_EXT_depth_clamp_zero_one VK_EXT_depth_clip_control VK_EXT_depth_clip_enable
|
|
VK_EXT_device_memory_report VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state2
|
|
VK_EXT_external_memory_dma_buf VK_EXT_graphics_pipeline_library VK_EXT_hdr_metadata
|
|
VK_EXT_host_image_copy VK_EXT_host_query_reset VK_EXT_image_drm_format_modifier
|
|
VK_EXT_image_robustness VK_EXT_index_type_uint8 VK_EXT_inline_uniform_block
|
|
VK_EXT_line_rasterization VK_EXT_load_store_op_none
|
|
VK_EXT_multisampled_render_to_single_sampled VK_EXT_non_seamless_cube_map
|
|
VK_EXT_physical_device_drm VK_EXT_pipeline_creation_cache_control
|
|
VK_EXT_pipeline_robustness VK_EXT_primitive_topology_list_restart VK_EXT_private_data
|
|
VK_EXT_provoking_vertex VK_EXT_queue_family_foreign VK_EXT_scalar_block_layout
|
|
VK_EXT_separate_stencil_usage VK_EXT_shader_demote_to_helper_invocation
|
|
VK_EXT_shader_module_identifier VK_EXT_shader_replicated_composites
|
|
VK_EXT_shader_subgroup_ballot VK_EXT_shader_subgroup_vote VK_EXT_texel_buffer_alignment
|
|
VK_EXT_texture_compression_astc_hdr VK_EXT_tooling_info VK_EXT_vertex_attribute_divisor
|
|
VK_EXT_vertex_input_dynamic_state
|
|
VK_KHR_16bit_storage VK_KHR_8bit_storage VK_KHR_bind_memory2
|
|
VK_KHR_buffer_device_address VK_KHR_copy_commands2 VK_KHR_create_renderpass2
|
|
VK_KHR_dedicated_allocation VK_KHR_depth_stencil_resolve
|
|
VK_KHR_descriptor_update_template VK_KHR_device_group VK_KHR_driver_properties
|
|
VK_KHR_dynamic_rendering VK_KHR_dynamic_rendering_local_read
|
|
VK_KHR_external_fence VK_KHR_external_fence_fd VK_KHR_external_memory
|
|
VK_KHR_external_memory_fd VK_KHR_external_semaphore VK_KHR_external_semaphore_fd
|
|
VK_KHR_format_feature_flags2 VK_KHR_global_priority
|
|
VK_KHR_image_format_list VK_KHR_imageless_framebuffer
|
|
VK_KHR_index_type_uint8 VK_KHR_line_rasterization VK_KHR_load_store_op_none
|
|
VK_KHR_maintenance1 VK_KHR_maintenance2 VK_KHR_maintenance3 VK_KHR_maintenance9
|
|
VK_KHR_map_memory2 VK_KHR_multiview VK_KHR_pipeline_binary
|
|
VK_KHR_pipeline_executable_properties VK_KHR_pipeline_library
|
|
VK_KHR_present_id2 VK_KHR_present_wait2 VK_KHR_push_descriptor
|
|
VK_KHR_relaxed_block_layout VK_KHR_sampler_mirror_clamp_to_edge
|
|
VK_KHR_sampler_ycbcr_conversion VK_KHR_separate_depth_stencil_layouts
|
|
VK_KHR_shader_clock VK_KHR_shader_draw_parameters VK_KHR_shader_expect_assume
|
|
VK_KHR_shader_float16_int8 VK_KHR_shader_float_controls
|
|
VK_KHR_shader_integer_dot_product VK_KHR_shader_non_semantic_info
|
|
VK_KHR_shader_relaxed_extended_instruction VK_KHR_shader_subgroup_rotate
|
|
VK_KHR_shader_terminate_invocation VK_KHR_storage_buffer_storage_class
|
|
VK_KHR_swapchain VK_KHR_synchronization2 VK_KHR_timeline_semaphore
|
|
VK_KHR_unified_image_layouts VK_KHR_uniform_buffer_standard_layout
|
|
VK_KHR_variable_pointers VK_KHR_vertex_attribute_divisor
|
|
VK_KHR_vulkan_memory_model VK_KHR_zero_initialize_workgroup_memory
|
|
|
|
NOT in extension list (worth noting):
|
|
VK_EXT_descriptor_indexing # bindless descriptors
|
|
VK_EXT_transform_feedback # XFB
|
|
VK_EXT_conditional_rendering
|
|
VK_KHR_ray_tracing_* # RT not on Bifrost
|
|
VK_EXT_mesh_shader # mesh not on Bifrost
|
|
VK_EXT_fragment_shader_interlock
|
|
VK_EXT_fragment_density_map # Mali variable rate shading
|
|
|
|
End of vulkaninfo capture.
|