Panvk-Mali-G57-3.0 contre Mali-G1-Ultra MC12
Sur Mali-G1-Ultra MC12 (Infinix NOTE 30, Infinix NOTE 40 Pro, Oppo A6 5G, Oppo A6t 5G, Oppo Find X9s Pro, REDMI 15C 5G, Redmi Note 10 5G, Redmi Note 13 5G, Redmi Note 13 Pro, Samsung Galaxy A07, Samsung Galaxy A07, Samsung Galaxy A15 5G, Samsung Galaxy A16, TCL 50 XE 5G). Le premier pilote cité est comparé au second, qui sert de référence.
SystèmeMali-G1-Ultra MC12
contrePersonnaliséPanvk-Mali-G57-3.0
Version du système graphique (Vulkan)1.1.177 à 1.3.354
Fonctionnalités optionnelles (extensions)69 à 151+86 -4
Fonctionnalités qui réussissent leur vérification (validées)45 à 4220 réussies uniquement sur Panvk-Mali-G57-3.0 23 réussies uniquement sur Mali-G1-Ultra MC12
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-G1-Ultra MC12 Détails de Panvk-Mali-G57-3.0
Vérifications des fonctionnalités qui diffèrent (63)
| Fonctionnalité | Système | Personnalisé | Variation |
|---|---|---|---|
| inlineUniformBlock | réussi | échec | perdu |
| transformFeedback | réussi | non pris en charge | perdu |
| depthClamp | réussi | non testé | perdu |
| drawIndirectFirstInstance | réussi | échec | perdu |
| geometryShader | réussi | échec | perdu |
| largePoints | réussi | non testé | perdu |
| compat.helper_loop_terminator | réussi | non testé | perdu |
| compat.nested_map | réussi | non testé | perdu |
| core.blend_advertised_formats | réussi | non testé | perdu |
| core.compute_big_stack | réussi | non testé | perdu |
| core.host_coherent_readback | réussi | non testé | perdu |
| core.mrt_partial_kill | réussi | non testé | perdu |
| core.resubmit_command_buffer | réussi | échec | perdu |
| core.ubo_update_buffer | réussi | non testé | perdu |
| core.ubo_written_after_record | réussi | non testé | perdu |
| core.varying_subset | réussi | non testé | perdu |
| mem.image_padding | réussi | non testé | perdu |
| perf.fb_local_barrier_large_draws | réussi | non testé | perdu |
| perf.fb_local_barrier_overdraw | réussi | non testé | perdu |
| stage.geometry_max_output | réussi | non testé | perdu |
| stress.scratch_per_batch | réussi | non testé | perdu |
| stress.submit_memory | réussi | échec | perdu |
| sync.first_submit_clear_then_compute | réussi | non testé | perdu |
| 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 | non pris en charge | réussi | gagné |
| extendedDynamicState2 | non pris en charge | 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é |
| timelineSemaphore | échec | 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é |
| stress.multi_draw_indirect_large | 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é |
| 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é |
| shaderSharedInt64Atomics | 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é |
| multiDrawIndirect | non pris en charge | échec | modifié |
| multiViewport | 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é |
| wideLines | non pris en charge | non testé | modifié |
| stage.geometry_point_size | non pris en charge | non testé | modifié |
Scènes du benchmark
Aucun des deux pilotes n'a encore de test de performance (rapport de benchmark) valide.
Différences techniques (Vulkan)
Extensions uniquement dans Panvk-Mali-G57-3.0 (86)
- 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_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_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_external_memory_host
- VK_EXT_global_priority_query
- 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_load_store_op_none
- VK_EXT_memory_budget
- VK_EXT_multisampled_render_to_single_sampled
- VK_EXT_mutable_descriptor_type
- VK_EXT_non_seamless_cube_map
- VK_EXT_physical_device_drm
- VK_EXT_pipeline_creation_cache_control
- VK_EXT_pipeline_creation_feedback
- VK_EXT_pipeline_robustness
- VK_EXT_primitive_topology_list_restart
- VK_EXT_private_data
- VK_EXT_robustness2
- VK_EXT_shader_atomic_float
- VK_EXT_shader_demote_to_helper_invocation
- 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_texel_buffer_alignment
- VK_EXT_tooling_info
- VK_EXT_vertex_attribute_divisor
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_calibrated_timestamps
- VK_KHR_copy_commands2
- 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_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_map_memory2
- VK_KHR_pipeline_executable_properties
- VK_KHR_pipeline_library
- VK_KHR_push_descriptor
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_clock
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_terminate_invocation
- VK_KHR_synchronization2
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
- VK_VALVE_mutable_descriptor_type
Extensions uniquement dans Mali-G1-Ultra MC12 (4)
- VK_EXT_fragment_density_map
- VK_EXT_fragment_density_map2
- VK_EXT_transform_feedback
- VK_KHR_shared_presentable_image
Fonctionnalités de base qui diffèrent (64)
| 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 |
| 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 |
| hostQueryReset | non pris en charge à réussi |
| imagelessFramebuffer | non pris en charge à réussi |
| runtimeDescriptorArray | 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 |
| shaderInputAttachmentArrayDynamicIndexing | non pris en charge à réussi |
| shaderInputAttachmentArrayNonUniformIndexing | non pris en charge à réussi |
| shaderInt8 | 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 |
Limites qui diffèrent (54)
| Limite | Système | Personnalisé |
|---|---|---|
| maxImageDimension1D | 16384 | 65536 |
| maxImageDimension2D | 16384 | 65536 |
| maxImageDimension3D | 16384 | 65536 |
| maxImageDimensionCube | 16384 | 65536 |
| maxImageArrayLayers | 4096 | 65536 |
| maxTexelBufferElements | 268435456 | 134217728 |
| maxUniformBufferRange | 65536 | 1048576 |
| maxStorageBufferRange | 268435456 | 4294967295 |
| bufferImageGranularity | 4096 | 64 |
| maxBoundDescriptorSets | 4 | 7 |
| 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 |
| maxTessellationGenerationLevel | 64 | 0 |
| maxTessellationPatchSize | 32 | 0 |
| maxTessellationControlPerVertexInputComponents | 128 | 0 |
| maxTessellationControlPerVertexOutputComponents | 128 | 0 |
| maxTessellationControlPerPatchOutputComponents | 120 | 0 |
| maxTessellationControlTotalOutputComponents | 4096 | 0 |
| maxTessellationEvaluationInputComponents | 128 | 0 |
| maxTessellationEvaluationOutputComponents | 128 | 0 |
| maxGeometryShaderInvocations | 32 | 0 |
| maxGeometryInputComponents | 64 | 0 |
| maxGeometryOutputComponents | 128 | 0 |
| maxGeometryOutputVertices | 256 | 0 |
| maxGeometryTotalOutputComponents | 1024 | 0 |
| maxFragmentDualSrcAttachments | 0 | 8 |
| maxFragmentCombinedOutputResources | 1000008 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxSamplerLodBias | 255 | 127.996 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 16 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| framebufferNoAttachmentsSampleCounts | 29 | 13 |
| timestampComputeAndGraphics | 1 | 0 |
| timestampPeriod | 76.9231 | 0 |
| 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 (31 gagnés, 6 perdus)
- A1B5G5R5_UNORM_PACK16
- A2R10G10B10_SNORM_PACK32
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A8_UNORM
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SSCALED
- B8G8R8_USCALED
- 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