panvk-g76-kirin990-1.2.3 vs Mali-G52
Su Mali-G52 (CHUWI HiPad-Air, HONOR X5c, HONOR X5c, Infinix HOT 60i, Oppo A18, Oppo A38, realme RMX3710, Redmi 12, Redmi 12C, Redmi 14C, Redmi 15C, Samsung Galaxy A32, TECNO POVA 3, TECNO SPARK 10 Pro, TECNO SPARK 20, Vivo Y03, Xiaomi 24049RN28L). Il primo driver nominato è confrontato con il secondo, che è la baseline.
StockMali-G52
vsCustompanvk-g76-kirin990-1.2.3
Versione del sistema grafico (Vulkan)1.1.149 a 1.3.363
Funzionalità opzionali (estensioni)58 a 165+108 -1
Funzionalità che superano il controllo (validate)42 a 65Mali-G52 e panvk-g76-kirin990-1.2.3: inviato da un dispositivo che il sito non ha potuto confermare (non verificato)25 superati solo su panvk-g76-kirin990-1.2.3 2 superati solo su Mali-G52
Scene del test di velocità (benchmark)0 più veloci 4 più lente 1 alla pari20% più lento in totale (media geometrica)
Giochi che ogni driver potrebbe far girare (una stima dalla sua lista di funzionalità): verde probabile, giallo forse, arancione limitato, rosso no
StockDX92002+DX102006+DX112009+DX122015+Switch
CustomDX92002+DX102006+DX112009+DX122015+Switch
- compute_nbody19% più lento
- hdr_2160p0% più veloce
- oit_linked_lists33% più lento
- pipeline_barriers30% più lento
- subpasses15% più lento
Piccole aree dell'immagine differiscono dal driver stock in 1 scena (pipeline_barriers: 1564 di 2304 celle). L'immagine nel complesso corrisponde, quindi questo è un errore di rendering locale, non una scena diversa.
Dettagli di Mali-G52 Dettagli di panvk-g76-kirin990-1.2.3
Controlli delle funzionalità che differiscono (53)
| Funzionalità | Stock | Custom | Variazione |
|---|---|---|---|
| compat.nested_map | superato | fallito | in meno |
| limit.uniform_buffer_range | superato | fallito | in meno |
| borderColorSwizzle | non supportata | superato | in più |
| colorWriteEnable | non supportata | superato | in più |
| customBorderColors | non supportata | superato | in più |
| depthClipControl | non supportata | superato | in più |
| extendedDynamicState | non supportata | superato | in più |
| extendedDynamicState2 | non supportata | superato | in più |
| extendedDynamicState2LogicOp | non supportata | superato | in più |
| extendedDynamicState3ColorBlendEnable | non supportata | superato | in più |
| extendedDynamicState3ColorBlendEquation | non supportata | superato | in più |
| extendedDynamicState3ColorWriteMask | non supportata | superato | in più |
| extendedDynamicState3DepthClampEnable | non supportata | superato | in più |
| extendedDynamicState3LogicOpEnable | non supportata | superato | in più |
| robustBufferAccess2 | non supportata | superato | in più |
| robustImageAccess2 | non supportata | superato | in più |
| vertexInputDynamicState | non supportata | superato | in più |
| shaderBufferInt64Atomics | non supportata | superato | in più |
| timelineSemaphore | crash | superato | in più |
| depthClamp | non supportata | superato | in più |
| multiDrawIndirect | non supportata | superato | in più |
| multiViewport | non supportata | superato | in più |
| textureCompressionBC | non supportata | superato | in più |
| push.max_combined_image_samplers | non supportata | superato | in più |
| push.max_uniform_buffers | non supportata | superato | in più |
| stage.geometry_point_size | non supportata | superato | in più |
| stress.multi_draw_indirect_large | non supportata | superato | in più |
| borderColorSwizzleFromImage | non supportata | non testata | cambiato |
| customBorderColorWithoutFormat | non supportata | non testata | cambiato |
| depthBiasControl | non supportata | non testata | cambiato |
| depthBiasExact | non supportata | non testata | cambiato |
| extendedDynamicState2PatchControlPoints | non supportata | non testata | cambiato |
| extendedDynamicState3AlphaToCoverageEnable | non supportata | non testata | cambiato |
| extendedDynamicState3DepthClipEnable | non supportata | non testata | cambiato |
| extendedDynamicState3LineRasterizationMode | non supportata | non testata | cambiato |
| extendedDynamicState3RasterizationSamples | non supportata | non testata | cambiato |
| extendedDynamicState3SampleMask | non supportata | non testata | cambiato |
| descriptorBindingInlineUniformBlockUpdateAfterBind | non supportata | non testata | cambiato |
| nullDescriptor | non supportata | non testata | cambiato |
| geometryStreams | non supportata | non testata | cambiato |
| shaderSharedInt64Atomics | non supportata | non testata | cambiato |
| depthBounds | non supportata | non testata | cambiato |
| dualSrcBlend | non supportata | non testata | cambiato |
| fillModeNonSolid | non supportata | non testata | cambiato |
| logicOp | non supportata | non testata | cambiato |
| pipelineStatisticsQuery | non supportata | non testata | cambiato |
| shaderClipDistance | non supportata | non testata | cambiato |
| shaderCullDistance | non supportata | non testata | cambiato |
| shaderInt64 | non supportata | non testata | cambiato |
| shaderTessellationAndGeometryPointSize | non supportata | non testata | cambiato |
| variableMultisampleRate | non supportata | non testata | cambiato |
| vertexPipelineStoresAndAtomics | non supportata | non testata | cambiato |
| wideLines | non supportata | non testata | cambiato |
Scene del test di velocità (benchmark)
| Scena | Stock ms | Custom ms | Differenza | Avvii | Clock GPU, MHz | Immagine vs stock |
|---|---|---|---|---|---|---|
| compute_nbody | 63.71 | 79.10 | 19% più lento | 3 di 3 vs 3 di 3 | ? vs ? | nessuna differenza grande nessuna differenza piccola |
| hdr_2160p | 161.31 | 160.79 | 0% più veloce | 3 di 3 vs 3 di 3 | ? vs ? | nessuna differenza grande nessuna differenza piccola |
| oit_linked_lists | 69.17 | 102.52 | 33% più lento | 3 di 3 vs 3 di 3 | ? vs ? | nessuna differenza grande nessuna differenza piccola |
| pipeline_barriers | 44.75 | 63.76 | 30% più lento | 3 di 3 vs 3 di 3 | ? vs ? | nessuna differenza grande differisce in 1564 piccole aree |
| subpasses | 99.20 | 116.18 | 15% più lento | 3 di 3 vs 3 di 3 | ? vs ? | non controllato |
Differenze tecniche (Vulkan)
Estensioni solo in panvk-g76-kirin990-1.2.3 (108)
- VK_ARM_scheduling_controls
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- VK_EXT_4444_formats
- 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_calibrated_timestamps
- VK_EXT_color_write_enable
- VK_EXT_conditional_rendering
- VK_EXT_custom_border_color
- 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_descriptor_indexing
- VK_EXT_device_address_binding_report
- VK_EXT_device_memory_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_global_priority_query
- VK_EXT_graphics_pipeline_library
- VK_EXT_hdr_metadata
- VK_EXT_host_image_copy
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_compression_control
- 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_map_memory_placed
- VK_EXT_memory_budget
- 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_present_timing
- VK_EXT_primitive_topology_list_restart
- VK_EXT_private_data
- VK_EXT_provoking_vertex
- VK_EXT_robustness2
- VK_EXT_shader_atomic_float
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_subgroup_size_control
- VK_EXT_swapchain_maintenance1
- 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_GOOGLE_user_type
- 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_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_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_swapchain_maintenance1
- VK_KHR_swapchain_mutable_format
- VK_KHR_synchronization2
- VK_KHR_unified_image_layouts
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
- VK_VALVE_mutable_descriptor_type
Estensioni solo in Mali-G52 (1)
- VK_KHR_shared_presentable_image
Funzionalità di base che differiscono (65)
| multiview | non supportata a superato |
| samplerYcbcrConversion | non supportata a superato |
| shaderDrawParameters | non supportata a superato |
| storageBuffer16BitAccess | non supportata a superato |
| storageInputOutput16 | non supportata a superato |
| storagePushConstant16 | non supportata a superato |
| uniformAndStorageBuffer16BitAccess | non supportata a superato |
| variablePointers | non supportata a superato |
| variablePointersStorageBuffer | non supportata a superato |
| bufferDeviceAddress | non supportata a superato |
| descriptorBindingPartiallyBound | non supportata a superato |
| descriptorBindingSampledImageUpdateAfterBind | non supportata a superato |
| descriptorBindingStorageBufferUpdateAfterBind | non supportata a superato |
| descriptorBindingStorageImageUpdateAfterBind | non supportata a superato |
| descriptorBindingStorageTexelBufferUpdateAfterBind | non supportata a superato |
| descriptorBindingUniformBufferUpdateAfterBind | non supportata a superato |
| descriptorBindingUniformTexelBufferUpdateAfterBind | non supportata a superato |
| descriptorBindingUpdateUnusedWhilePending | non supportata a superato |
| descriptorBindingVariableDescriptorCount | non supportata a superato |
| descriptorIndexing | non supportata a superato |
| hostQueryReset | non supportata a superato |
| imagelessFramebuffer | non supportata a superato |
| runtimeDescriptorArray | non supportata a superato |
| samplerMirrorClampToEdge | non supportata a superato |
| scalarBlockLayout | non supportata a superato |
| separateDepthStencilLayouts | non supportata a superato |
| shaderBufferInt64Atomics | non supportata a superato |
| shaderInputAttachmentArrayDynamicIndexing | non supportata a superato |
| shaderInputAttachmentArrayNonUniformIndexing | non supportata a superato |
| shaderInt8 | non supportata a superato |
| shaderOutputViewportIndex | non supportata a superato |
| shaderSampledImageArrayNonUniformIndexing | non supportata a superato |
| shaderSharedInt64Atomics | non supportata a superato |
| shaderStorageBufferArrayNonUniformIndexing | non supportata a superato |
| shaderStorageImageArrayNonUniformIndexing | non supportata a superato |
| shaderStorageTexelBufferArrayDynamicIndexing | non supportata a superato |
| shaderStorageTexelBufferArrayNonUniformIndexing | non supportata a superato |
| shaderSubgroupExtendedTypes | non supportata a superato |
| shaderUniformBufferArrayNonUniformIndexing | non supportata a superato |
| shaderUniformTexelBufferArrayDynamicIndexing | non supportata a superato |
| shaderUniformTexelBufferArrayNonUniformIndexing | non supportata a superato |
| storageBuffer8BitAccess | non supportata a superato |
| storagePushConstant8 | non supportata a superato |
| subgroupBroadcastDynamicId | non supportata a superato |
| timelineSemaphore | non supportata a superato |
| uniformAndStorageBuffer8BitAccess | non supportata a superato |
| uniformBufferStandardLayout | non supportata a superato |
| vulkanMemoryModel | non supportata a superato |
| vulkanMemoryModelAvailabilityVisibilityChains | non supportata a superato |
| vulkanMemoryModelDeviceScope | non supportata a superato |
| computeFullSubgroups | non supportata a superato |
| descriptorBindingInlineUniformBlockUpdateAfterBind | non supportata a superato |
| dynamicRendering | non supportata a superato |
| inlineUniformBlock | non supportata a superato |
| maintenance4 | non supportata a superato |
| pipelineCreationCacheControl | non supportata a superato |
| privateData | non supportata a superato |
| robustImageAccess | non supportata a superato |
| shaderDemoteToHelperInvocation | non supportata a superato |
| shaderIntegerDotProduct | non supportata a superato |
| shaderTerminateInvocation | non supportata a superato |
| shaderZeroInitializeWorkgroupMemory | non supportata a superato |
| subgroupSizeControl | non supportata a superato |
| synchronization2 | non supportata a superato |
| textureCompressionASTC_HDR | non supportata a superato |
Limiti che differiscono (49)
| Limite | Stock | Custom |
|---|---|---|
| maxImageDimension1D | 16384 | 65536 |
| maxImageDimension2D | 16383 | 65536 |
| maxImageDimension3D | 16383 | 65536 |
| maxImageDimensionCube | 16383 | 65536 |
| maxImageArrayLayers | 1024 | 65536 |
| maxTexelBufferElements | 65536 | 134217728 |
| maxUniformBufferRange | 65536 | 1048576 |
| maxStorageBufferRange | 268435456 | 4294967295 |
| bufferImageGranularity | 4096 | 64 |
| sparseAddressSpaceSize | 0 | 17146314752 |
| maxBoundDescriptorSets | 4 | 7 |
| maxPerStageDescriptorUniformBuffers | 36 | 223 |
| maxPerStageDescriptorStorageBuffers | 35 | 64 |
| maxPerStageDescriptorStorageImages | 21 | 32 |
| maxPerStageResources | 365 | 712 |
| maxDescriptorSetSamplers | 768 | 65535 |
| maxDescriptorSetUniformBuffers | 216 | 223 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffers | 210 | 4096 |
| maxDescriptorSetStorageBuffersDynamic | 32 | 8 |
| maxDescriptorSetSampledImages | 1536 | 65535 |
| maxDescriptorSetStorageImages | 126 | 256 |
| maxVertexInputAttributes | 32 | 16 |
| maxVertexInputBindings | 32 | 16 |
| maxVertexInputAttributeOffset | 2047 | 4294967295 |
| maxVertexInputBindingStride | 2048 | 65535 |
| maxFragmentDualSrcAttachments | 0 | 1 |
| maxFragmentCombinedOutputResources | 64 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxDrawIndirectCount | 1 | 65535 |
| maxSamplerLodBias | 255 | 127.996 |
| maxViewports | 1 | 16 |
| maxViewportDimensions | 16383, 16383 | 16384, 16384 |
| viewportBoundsRange | -32766, 32765 | -32768, 32767 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 16 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| maxFramebufferWidth | 16383 | 16384 |
| maxFramebufferHeight | 16383 | 16384 |
| framebufferNoAttachmentsSampleCounts | 29 | 5 |
| timestampComputeAndGraphics | 0 | 1 |
| timestampPeriod | 0 | 38.4615 |
| 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 |
Formati supportati da un solo driver (31 in più, 6 in meno)
- A1B5G5R5_UNORM_PACK16
- A2R10G10B10_SNORM_PACK32
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A4B4G4R4_UNORM_PACK16
- A4R4G4B4_UNORM_PACK16
- 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
- B5G5R5A1_UNORM_PACK16
- B8G8R8G8_422_UNORM
- B8G8R8_SNORM
- G8B8G8R8_422_UNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16