FauxVkDB
English

panvk_faux123_v1.1.3 vs panvk_faux123_ace_v0.39.0

On Mali-G1-Ultra MC12 (Infinix HOT 50 Pro, Infinix NOTE 30, Infinix NOTE 40 Pro, itel RS4, Oppo A6 5G, Oppo A6t 5G, Oppo Find X9s Pro, realme RMX5111, REDMI 15C 5G, Redmi Note 10 5G, Redmi Note 13 5G, Redmi Note 13 Pro, Redmi Pad 2, Samsung Galaxy A07, Samsung Galaxy A07, Samsung Galaxy A15 5G, Samsung Galaxy A16, TCL 50 XE 5G). The first driver named is compared against the second, which is the baseline.

Stockpanvk_faux123_ace_v0.39.0PanVK-kbase beta.14 (Mesa 26.3.0-devel (git-5a07217f03))
vs
Custompanvk_faux123_v1.1.3PanVK-kbase RC3-lowmem (Mesa 26.3.0-devel (git-44ce4ed1d7))
Graphics system version (Vulkan)1.1.363 to 1.3.363
Optional features (extensions)170 to 178+8 -0
Features that pass their check (validated)38 to 6830 pass only on panvk_faux123_v1.1.3 0 pass only on panvk_faux123_ace_v0.39.0
Speed test scenes (benchmark)no shared scenes
Games each driver could run (an estimate from its feature list): green likely, yellow maybe, orange limited, red no
StockDX92002+DX102006+DX112009+DX122015+Switch
CustomDX92002+DX102006+DX112009+DX122015+Switch

panvk_faux123_ace_v0.39.0 details panvk_faux123_v1.1.3 details

Feature checks that differ (41)

Featurepanvk_faux123_ace_v0.39.0panvk_faux123_v1.1.3Change
robustBufferAccess2
VK_EXT_robustness2
unsupportedpassgained
robustImageAccess2
VK_EXT_robustness2
unsupportedpassgained
transformFeedback
VK_EXT_transform_feedback
unsupportedpassgained
depthClamp
VkPhysicalDeviceFeatures
untestedpassgained
drawIndirectFirstInstance
VkPhysicalDeviceFeatures
failpassgained
geometryShader
VkPhysicalDeviceFeatures
unsupportedpassgained
largePoints
VkPhysicalDeviceFeatures
untestedpassgained
multiDrawIndirect
VkPhysicalDeviceFeatures
unsupportedpassgained
multiViewport
VkPhysicalDeviceFeatures
unsupportedpassgained
tessellationShader
VkPhysicalDeviceFeatures
unsupportedpassgained
textureCompressionBC
VkPhysicalDeviceFeatures
unsupportedpassgained
compat.helper_loop_terminator
core
untestedpassgained
compat.nested_map
core
untestedpassgained
core.blend_advertised_formats
core
untestedpassgained
core.compute_big_stack
core
untestedpassgained
core.host_coherent_readback
core
untestedpassgained
core.mrt_partial_kill
core
untestedpassgained
core.resubmit_command_buffer
core
failpassgained
core.ubo_update_buffer
core
untestedpassgained
core.ubo_written_after_record
core
untestedpassgained
core.varying_subset
core
untestedpassgained
mem.image_padding
core
untestedpassgained
perf.fb_local_barrier_large_draws
core
untestedpassgained
perf.fb_local_barrier_overdraw
core
untestedpassgained
stage.geometry_max_output
core
untestedpassgained
stage.geometry_point_size
core
untestedpassgained
stress.multi_draw_indirect_large
core
unsupportedpassgained
stress.scratch_per_batch
core
untestedpassgained
stress.submit_memory
core
failpassgained
sync.first_submit_clear_then_compute
core
untestedpassgained
extendedDynamicState2PatchControlPoints
VK_EXT_extended_dynamic_state2
unsupporteduntestedchanged
nullDescriptor
VK_EXT_robustness2
unsupporteduntestedchanged
geometryStreams
VK_EXT_transform_feedback
unsupporteduntestedchanged
depthBounds
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
fillModeNonSolid
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
pipelineStatisticsQuery
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderClipDistance
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderCullDistance
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderTessellationAndGeometryPointSize
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
variableMultisampleRate
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
vertexPipelineStoresAndAtomics
VkPhysicalDeviceFeatures
unsupporteduntestedchanged

Speed test scenes (benchmark)

The two drivers were not measured on the same set of device models. Frame times from different devices do not compare drivers, so read these numbers with that in mind.

Scenepanvk_faux123_ace_v0.39.0 mspanvk_faux123_v1.1.3 msDifferenceStartsGPU clock, MHzPicture vs stock
compute_nbodyn/a47.75 typical 47.57only one side0 of 3 vs 3 of 3? vs ? clock unknownnot checked
hdr_2160pn/a116.34 typical 116.01only one side0 of 3 vs 3 of 3? vs ? clock unknownnot checked
oit_linked_listsn/a31.15 typical 30.99only one side0 of 3 vs 3 of 3? vs ? clock unknownnot checked
pipeline_barriersn/a25.90 typical 25.93only one side0 of 3 vs 3 of 3? vs ? clock unknownnot checked
subpassesn/a70.07 typical 70.10only one side0 of 3 vs 3 of 3? vs ? clock unknownnot checked

Time to draw one frame, per scene: the average (mean) frame time of the scene's best round, which is how many frames the driver delivered; lower is faster. "Typical" beside it is the median frame, which can sit well under the average when a driver's frames come in two speeds. A pair of reports made before per-round averages were recorded is compared on the median. A scene whose rounds disagree by more than 15% is left out. A scene marked "paced" was held at that mean frame time by the driver or the display queue, together with at least one other scene of the same run; its time says how the frames were spaced, not how fast the driver rendered, so it is not compared. A scene marked "too light" took under 8 ms at the standard size (1920 by 1080) on both drivers, where the screen's frame queue spaces the frames more than the chip does; its heavier run is the one compared: the row ending in _2160p is the scene drawn at 3840 by 2160, and compute_nbody_2x is that scene with twice the particles. "Faster" and "slower" describe panvk_faux123_v1.1.3 against panvk_faux123_ace_v0.39.0. "Picture vs stock" compares one fixed frame per scene as a coarse colour grid (0 is identical, above 40 is a different picture); it finds a scene that was not drawn. Where both reports carry the finer 64x36 grid, the second figure is how many of its 2,304 cells differ by more than 4 of 255, and "worst" is the largest single cell; this is what finds a small rendering error in a picture that otherwise matches. A row marked 16x9 comes from a report made before the finer grid existed. "Starts" is how many of a scene's process starts reached a measured round. A GPU clock marked "not comparable" differed by more than 5% of the device's maximum between the two timings.

Technical differences (Vulkan)

Extensions only in panvk_faux123_v1.1.3 (8)
  • VK_EXT_conditional_rendering
  • VK_EXT_primitives_generated_query
  • VK_EXT_robustness2
  • VK_EXT_transform_feedback
  • VK_KHR_depth_clamp_zero_one
  • VK_KHR_draw_indirect_count
  • VK_KHR_pipeline_binary
  • VK_KHR_robustness2
Extensions only in panvk_faux123_ace_v0.39.0 (0)
  • None
Core features that differ (67)
multiview Vulkan 1.1unsupported to pass
samplerYcbcrConversion Vulkan 1.1unsupported to pass
shaderDrawParameters Vulkan 1.1unsupported to pass
storageBuffer16BitAccess Vulkan 1.1unsupported to pass
storageInputOutput16 Vulkan 1.1unsupported to pass
storagePushConstant16 Vulkan 1.1unsupported to pass
uniformAndStorageBuffer16BitAccess Vulkan 1.1unsupported to pass
variablePointers Vulkan 1.1unsupported to pass
variablePointersStorageBuffer Vulkan 1.1unsupported to pass
bufferDeviceAddress Vulkan 1.2unsupported to pass
descriptorBindingPartiallyBound Vulkan 1.2unsupported to pass
descriptorBindingSampledImageUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingStorageBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingStorageImageUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingStorageTexelBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingUniformBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingUniformTexelBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingUpdateUnusedWhilePending Vulkan 1.2unsupported to pass
descriptorBindingVariableDescriptorCount Vulkan 1.2unsupported to pass
descriptorIndexing Vulkan 1.2unsupported to pass
drawIndirectCount Vulkan 1.2unsupported to pass
hostQueryReset Vulkan 1.2unsupported to pass
imagelessFramebuffer Vulkan 1.2unsupported to pass
runtimeDescriptorArray Vulkan 1.2unsupported to pass
samplerMirrorClampToEdge Vulkan 1.2unsupported to pass
scalarBlockLayout Vulkan 1.2unsupported to pass
separateDepthStencilLayouts Vulkan 1.2unsupported to pass
shaderBufferInt64Atomics Vulkan 1.2unsupported to pass
shaderFloat16 Vulkan 1.2unsupported to pass
shaderInputAttachmentArrayDynamicIndexing Vulkan 1.2unsupported to pass
shaderInputAttachmentArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderInt8 Vulkan 1.2unsupported to pass
shaderOutputViewportIndex Vulkan 1.2unsupported to pass
shaderSampledImageArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderSharedInt64Atomics Vulkan 1.2unsupported to pass
shaderStorageBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderStorageImageArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderStorageTexelBufferArrayDynamicIndexing Vulkan 1.2unsupported to pass
shaderStorageTexelBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderSubgroupExtendedTypes Vulkan 1.2unsupported to pass
shaderUniformBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderUniformTexelBufferArrayDynamicIndexing Vulkan 1.2unsupported to pass
shaderUniformTexelBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
storageBuffer8BitAccess Vulkan 1.2unsupported to pass
storagePushConstant8 Vulkan 1.2unsupported to pass
subgroupBroadcastDynamicId Vulkan 1.2unsupported to pass
timelineSemaphore Vulkan 1.2unsupported to pass
uniformAndStorageBuffer8BitAccess Vulkan 1.2unsupported to pass
uniformBufferStandardLayout Vulkan 1.2unsupported to pass
vulkanMemoryModel Vulkan 1.2unsupported to pass
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2unsupported to pass
vulkanMemoryModelDeviceScope Vulkan 1.2unsupported to pass
computeFullSubgroups Vulkan 1.3unsupported to pass
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3unsupported to pass
dynamicRendering Vulkan 1.3unsupported to pass
inlineUniformBlock Vulkan 1.3unsupported to pass
maintenance4 Vulkan 1.3unsupported to pass
pipelineCreationCacheControl Vulkan 1.3unsupported to pass
privateData Vulkan 1.3unsupported to pass
robustImageAccess Vulkan 1.3unsupported to pass
shaderDemoteToHelperInvocation Vulkan 1.3unsupported to pass
shaderIntegerDotProduct Vulkan 1.3unsupported to pass
shaderTerminateInvocation Vulkan 1.3unsupported to pass
shaderZeroInitializeWorkgroupMemory Vulkan 1.3unsupported to pass
subgroupSizeControl Vulkan 1.3unsupported to pass
synchronization2 Vulkan 1.3unsupported to pass
textureCompressionASTC_HDR Vulkan 1.3unsupported to pass
Limits that differ (20)
Limitpanvk_faux123_ace_v0.39.0panvk_faux123_v1.1.3
maxTessellationGenerationLevel064
maxTessellationPatchSize032
maxTessellationControlPerVertexInputComponents0128
maxTessellationControlPerVertexOutputComponents0128
maxTessellationControlPerPatchOutputComponents0120
maxTessellationControlTotalOutputComponents04096
maxTessellationEvaluationInputComponents0128
maxTessellationEvaluationOutputComponents0128
maxGeometryShaderInvocations064
maxGeometryInputComponents0128
maxGeometryOutputComponents0128
maxGeometryOutputVertices01024
maxGeometryTotalOutputComponents01024
maxDrawIndirectCount165535
maxViewports116
timestampComputeAndGraphics01
timestampPeriod076.9231
maxClipDistances08
maxCullDistances08
maxCombinedClipAndCullDistances08
Formats supported by only one driver (10 gained, 0 lost)

Only in panvk_faux123_v1.1.3:

  • BC4_SNORM_BLOCK
  • BC4_UNORM_BLOCK
  • BC5_SNORM_BLOCK
  • BC5_UNORM_BLOCK
  • BC6H_SFLOAT_BLOCK
  • BC6H_UFLOAT_BLOCK
  • BC7_SRGB_BLOCK
  • BC7_UNORM_BLOCK
  • G16_B16R16_2PLANE_444_UNORM
  • G8_B8R8_2PLANE_444_UNORM

Only in panvk_faux123_ace_v0.39.0:

  • None