panvk_faux123_ace_v0.36.0 contre Mali-G610 MC6
Sur Mali-G610 (GameForce Ace, Infinix GT 20 Pro, Nothing Phone (2a) Plus, Xiaomi 13T). Le premier pilote cité est comparé au second, qui sert de référence.
SystèmeMali-G610 MC6
contrePersonnalisépanvk_faux123_ace_v0.36.0
Version du système graphique (Vulkan)1.1.219 à 1.4.363
Fonctionnalités optionnelles (extensions)93 à 185+97 -5
Fonctionnalités qui réussissent leur vérification (validées)32 à 5018 réussies uniquement sur panvk_faux123_ace_v0.36.0 0 réussie uniquement sur Mali-G610 MC6
Scènes du benchmarkaucune scène commune
Jeux que chaque pilote pourrait faire tourner (estimation d'après sa liste de fonctionnalités) : vert probable, jaune peut-être, orange limité, rouge non
SystèmeDX92002+DX102006+DX112009+DX122015+Switch
PersonnaliséDX92002+DX102006+DX112009+DX122015+Switch
Détails de Mali-G610 MC6 Détails de panvk_faux123_ace_v0.36.0
Vérifications des fonctionnalités qui diffèrent (43)
| Fonctionnalité | Système | Personnalisé | Variation |
|---|---|---|---|
| borderColorSwizzle | non pris en charge | réussi | gagné |
| colorWriteEnable | non pris en charge | réussi | gagné |
| depthClipControl | non pris en charge | réussi | gagné |
| extendedDynamicState | échec | réussi | gagné |
| extendedDynamicState2LogicOp | non pris en charge | réussi | gagné |
| extendedDynamicState3ColorBlendEnable | non pris en charge | réussi | gagné |
| extendedDynamicState3ColorBlendEquation | non pris en charge | réussi | gagné |
| extendedDynamicState3ColorWriteMask | non pris en charge | réussi | gagné |
| extendedDynamicState3DepthClampEnable | non pris en charge | réussi | gagné |
| extendedDynamicState3LogicOpEnable | non pris en charge | réussi | gagné |
| robustBufferAccess2 | non pris en charge | réussi | gagné |
| robustImageAccess2 | non pris en charge | réussi | gagné |
| vertexInputDynamicState | non pris en charge | réussi | gagné |
| shaderBufferInt64Atomics | non pris en charge | réussi | gagné |
| multiViewport | non pris en charge | réussi | gagné |
| textureCompressionBC | non pris en charge | réussi | gagné |
| push.max_combined_image_samplers | non pris en charge | réussi | gagné |
| push.max_uniform_buffers | non pris en charge | réussi | gagné |
| borderColorSwizzleFromImage | non pris en charge | non testé | modifié |
| depthBiasControl | non pris en charge | non testé | modifié |
| depthBiasExact | non pris en charge | non testé | modifié |
| extendedDynamicState3AlphaToCoverageEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3AlphaToOneEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3DepthClipEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3LineRasterizationMode | non pris en charge | non testé | modifié |
| extendedDynamicState3RasterizationSamples | non pris en charge | non testé | modifié |
| extendedDynamicState3SampleMask | non pris en charge | non testé | modifié |
| nullDescriptor | non pris en charge | non testé | modifié |
| geometryStreams | non pris en charge | non testé | modifié |
| shaderSharedInt64Atomics | non pris en charge | non testé | modifié |
| alphaToOne | non pris en charge | non testé | modifié |
| depthBounds | non pris en charge | non testé | modifié |
| dualSrcBlend | non pris en charge | non testé | modifié |
| fillModeNonSolid | non pris en charge | non testé | modifié |
| logicOp | non pris en charge | non testé | modifié |
| pipelineStatisticsQuery | non pris en charge | non testé | modifié |
| shaderClipDistance | non pris en charge | non testé | modifié |
| shaderCullDistance | non pris en charge | non testé | modifié |
| shaderInt64 | non pris en charge | non testé | modifié |
| shaderTessellationAndGeometryPointSize | non pris en charge | non testé | modifié |
| variableMultisampleRate | non pris en charge | non testé | modifié |
| vertexPipelineStoresAndAtomics | non pris en charge | non testé | modifié |
| wideLines | non pris en charge | non testé | modifié |
Scènes du benchmark
Les deux pilotes n'ont pas été mesurés sur les mêmes modèles d'appareils. Des temps de frame venant d'appareils différents ne permettent pas de comparer des pilotes : lisez ces chiffres en en tenant compte.
| Scène | Système ms | Personnalisé ms | Écart | Démarrages | Fréquence du GPU, MHz | Image vs système |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 19.00 | un seul côté | ? contre 3 sur 3 | ? contre 883 | non vérifié |
| hdr_2160p | n/a | 57.63 | un seul côté | ? contre ? | ? contre ? | non vérifié |
| oit_linked_lists | n/a | 19.72 | un seul côté | ? contre 3 sur 3 | ? contre 1000 | non vérifié |
| pipeline_barriers | n/a | 10.20 | un seul côté | ? contre 3 sur 3 | ? contre 1000 | non vérifié |
| subpasses | n/a | 19.31 | un seul côté | ? contre 3 sur 3 | ? contre 900 | non vérifié |
Différences techniques (Vulkan)
Extensions uniquement dans panvk_faux123_ace_v0.36.0 (97)
- VK_ARM_scheduling_controls
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_border_color_swizzle
- VK_EXT_buffer_device_address
- VK_EXT_color_write_enable
- VK_EXT_conditional_rendering
- VK_EXT_debug_marker
- VK_EXT_depth_bias_control
- VK_EXT_depth_clamp_control
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_EXT_depth_clip_enable
- VK_EXT_device_address_binding_report
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_graphics_pipeline_library
- VK_EXT_hdr_metadata
- VK_EXT_host_image_copy
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_image_view_min_lod
- VK_EXT_legacy_dithering
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_memory_priority
- VK_EXT_multi_draw
- VK_EXT_mutable_descriptor_type
- VK_EXT_nested_command_buffer
- VK_EXT_non_seamless_cube_map
- VK_EXT_pageable_device_local_memory
- VK_EXT_physical_device_drm
- VK_EXT_pipeline_robustness
- VK_EXT_present_timing
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_robustness2
- VK_EXT_shader_atomic_float
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_shader_tile_image
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_vertex_attribute_divisor
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_ycbcr_2plane_444_formats
- VK_EXT_ycbcr_image_arrays
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_GOOGLE_user_type
- VK_KHR_calibrated_timestamps
- VK_KHR_compute_shader_derivatives
- VK_KHR_copy_memory_indirect
- VK_KHR_dynamic_rendering
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_format_feature_flags2
- VK_KHR_global_priority
- VK_KHR_index_type_uint8
- VK_KHR_internally_synchronized_queues
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_map_memory2
- VK_KHR_pipeline_executable_properties
- VK_KHR_pipeline_library
- VK_KHR_present_id
- VK_KHR_present_id2
- VK_KHR_present_wait
- VK_KHR_present_wait2
- VK_KHR_push_descriptor
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_clock
- VK_KHR_shader_constant_data
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_fma
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_untyped_pointers
- VK_KHR_swapchain_maintenance1
- VK_KHR_swapchain_mutable_format
- VK_KHR_unified_image_layouts
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_VALVE_mutable_descriptor_type
Extensions uniquement dans Mali-G610 MC6 (5)
- VK_EXT_fragment_density_map
- VK_EXT_fragment_density_map2
- VK_EXT_rgba10x6_formats
- VK_EXT_subpass_merge_feedback
- VK_KHR_shared_presentable_image
Fonctionnalités de base qui diffèrent (86)
| multiview | non pris en charge à réussi |
| samplerYcbcrConversion | non pris en charge à réussi |
| shaderDrawParameters | non pris en charge à réussi |
| storageBuffer16BitAccess | non pris en charge à réussi |
| storageInputOutput16 | non pris en charge à réussi |
| storagePushConstant16 | non pris en charge à réussi |
| uniformAndStorageBuffer16BitAccess | non pris en charge à réussi |
| variablePointers | non pris en charge à réussi |
| variablePointersStorageBuffer | non pris en charge à réussi |
| bufferDeviceAddress | non pris en charge à réussi |
| bufferDeviceAddressCaptureReplay | non pris en charge à réussi |
| descriptorBindingPartiallyBound | non pris en charge à réussi |
| descriptorBindingSampledImageUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingStorageBufferUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingStorageImageUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingStorageTexelBufferUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingUniformBufferUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingUniformTexelBufferUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingUpdateUnusedWhilePending | non pris en charge à réussi |
| descriptorBindingVariableDescriptorCount | non pris en charge à réussi |
| descriptorIndexing | non pris en charge à réussi |
| drawIndirectCount | non pris en charge à réussi |
| hostQueryReset | non pris en charge à réussi |
| imagelessFramebuffer | non pris en charge à réussi |
| runtimeDescriptorArray | non pris en charge à réussi |
| samplerFilterMinmax | non pris en charge à réussi |
| samplerMirrorClampToEdge | non pris en charge à réussi |
| scalarBlockLayout | non pris en charge à réussi |
| separateDepthStencilLayouts | non pris en charge à réussi |
| shaderBufferInt64Atomics | non pris en charge à réussi |
| shaderFloat16 | non pris en charge à réussi |
| shaderInputAttachmentArrayDynamicIndexing | non pris en charge à réussi |
| shaderInputAttachmentArrayNonUniformIndexing | non pris en charge à réussi |
| shaderInt8 | non pris en charge à réussi |
| shaderOutputLayer | non pris en charge à réussi |
| shaderOutputViewportIndex | non pris en charge à réussi |
| shaderSampledImageArrayNonUniformIndexing | non pris en charge à réussi |
| shaderSharedInt64Atomics | non pris en charge à réussi |
| shaderStorageBufferArrayNonUniformIndexing | non pris en charge à réussi |
| shaderStorageImageArrayNonUniformIndexing | non pris en charge à réussi |
| shaderStorageTexelBufferArrayDynamicIndexing | non pris en charge à réussi |
| shaderStorageTexelBufferArrayNonUniformIndexing | non pris en charge à réussi |
| shaderSubgroupExtendedTypes | non pris en charge à réussi |
| shaderUniformBufferArrayNonUniformIndexing | non pris en charge à réussi |
| shaderUniformTexelBufferArrayDynamicIndexing | non pris en charge à réussi |
| shaderUniformTexelBufferArrayNonUniformIndexing | non pris en charge à réussi |
| storageBuffer8BitAccess | non pris en charge à réussi |
| storagePushConstant8 | non pris en charge à réussi |
| subgroupBroadcastDynamicId | non pris en charge à réussi |
| timelineSemaphore | non pris en charge à réussi |
| uniformAndStorageBuffer8BitAccess | non pris en charge à réussi |
| uniformBufferStandardLayout | non pris en charge à réussi |
| vulkanMemoryModel | non pris en charge à réussi |
| vulkanMemoryModelAvailabilityVisibilityChains | non pris en charge à réussi |
| vulkanMemoryModelDeviceScope | non pris en charge à réussi |
| computeFullSubgroups | non pris en charge à réussi |
| descriptorBindingInlineUniformBlockUpdateAfterBind | non pris en charge à réussi |
| dynamicRendering | non pris en charge à réussi |
| inlineUniformBlock | non pris en charge à réussi |
| maintenance4 | non pris en charge à réussi |
| pipelineCreationCacheControl | non pris en charge à réussi |
| privateData | non pris en charge à réussi |
| robustImageAccess | non pris en charge à réussi |
| shaderDemoteToHelperInvocation | non pris en charge à réussi |
| shaderIntegerDotProduct | non pris en charge à réussi |
| shaderTerminateInvocation | non pris en charge à réussi |
| shaderZeroInitializeWorkgroupMemory | non pris en charge à réussi |
| subgroupSizeControl | non pris en charge à réussi |
| synchronization2 | non pris en charge à réussi |
| textureCompressionASTC_HDR | non pris en charge à réussi |
| bresenhamLines | non pris en charge à réussi |
| dynamicRenderingLocalRead | non pris en charge à réussi |
| globalPriorityQuery | non pris en charge à réussi |
| hostImageCopy | non pris en charge à réussi |
| indexTypeUint8 | non pris en charge à réussi |
| maintenance5 | non pris en charge à réussi |
| maintenance6 | non pris en charge à réussi |
| pipelineRobustness | non pris en charge à réussi |
| pushDescriptor | non pris en charge à réussi |
| rectangularLines | non pris en charge à réussi |
| shaderExpectAssume | non pris en charge à réussi |
| shaderFloatControls2 | non pris en charge à réussi |
| shaderSubgroupRotate | non pris en charge à réussi |
| shaderSubgroupRotateClustered | non pris en charge à réussi |
| vertexAttributeInstanceRateDivisor | non pris en charge à réussi |
| vertexAttributeInstanceRateZeroDivisor | non pris en charge à réussi |
Limites qui diffèrent (47)
| Limite | Système | Personnalisé |
|---|---|---|
| maxImageDimension1D | 32768 | 65536 |
| maxImageDimension2D | 32768 | 65536 |
| maxImageDimension3D | 32768 | 65536 |
| maxImageDimensionCube | 32768 | 65536 |
| maxImageArrayLayers | 4096 | 65536 |
| maxTexelBufferElements | 268435456 | 134217728 |
| maxUniformBufferRange | 65536 | 1048576 |
| maxStorageBufferRange | 268435456 | 4294967295 |
| maxMemoryAllocationCount | 16384 | 4294967295 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 0 | 140737454800896 |
| maxPerStageDescriptorSamplers | 500000 | 1048576 |
| maxPerStageDescriptorUniformBuffers | 36 | 1048576 |
| maxPerStageDescriptorStorageBuffers | 500000 | 1048576 |
| maxPerStageDescriptorSampledImages | 500000 | 1048576 |
| maxPerStageDescriptorStorageImages | 500000 | 1048576 |
| maxPerStageResources | 500000 | 5242889 |
| maxDescriptorSetSamplers | 500000 | 1048576 |
| maxDescriptorSetUniformBuffers | 216 | 1048576 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffers | 500000 | 1048576 |
| maxDescriptorSetStorageBuffersDynamic | 32 | 8 |
| maxDescriptorSetSampledImages | 500000 | 1048576 |
| maxDescriptorSetStorageImages | 500000 | 1048576 |
| maxVertexInputAttributes | 32 | 16 |
| maxVertexInputBindings | 32 | 16 |
| maxVertexInputAttributeOffset | 2047 | 4294967295 |
| maxVertexInputBindingStride | 2048 | 65535 |
| maxGeometryShaderInvocations | 32 | 64 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryTotalOutputComponents | 2048 | 1024 |
| maxFragmentDualSrcAttachments | 0 | 8 |
| maxFragmentCombinedOutputResources | 1000008 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxSamplerLodBias | 255 | 127.996 |
| maxViewports | 1 | 16 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| timestampPeriod | 76.9231 | 41.6667 |
| maxClipDistances | 0 | 8 |
| maxCullDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| pointSizeRange | 1, 1024 | 0.125, 4095.94 |
| lineWidthRange | 1, 1 | 0, 7.99219 |
| lineWidthGranularity | 0 | 0.0078125 |
Formats pris en charge par un seul pilote (25 gagnés, 6 perdus)
- A1B5G5R5_UNORM_PACK16
- A2R10G10B10_SNORM_PACK32
- A8_UNORM
- BC1_RGBA_SRGB_BLOCK
- BC1_RGBA_UNORM_BLOCK
- BC1_RGB_SRGB_BLOCK
- BC1_RGB_UNORM_BLOCK
- BC2_SRGB_BLOCK
- BC2_UNORM_BLOCK
- BC3_SRGB_BLOCK
- BC3_UNORM_BLOCK
- 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_420_UNORM
- G16_B16R16_2PLANE_422_UNORM
- G16_B16R16_2PLANE_444_UNORM
- G8_B8R8_2PLANE_444_UNORM
- R64_SINT
- R64_UINT
- B5G5R5A1_UNORM_PACK16
- B8G8R8G8_422_UNORM
- B8G8R8_SNORM
- G8B8G8R8_422_UNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16