PanVK-Kbase-Android-v0.1.0-rc4-5a07217f contre Mali-G52 MC2
Sur Mali-G52 (CHUWI HiPad-Air, HONOR X5c, HONOR X5c, Infinix HOT 60i, Motorola moto g(20), Oppo A18, Oppo A38, realme RMX3710, Redmi 12, Redmi 12, Redmi 12C, Redmi 13C, Redmi 14C, Redmi 15C, Redmi A3 Pro, Samsung Galaxy A06, Samsung Galaxy A32, Samsung Galaxy Tab A8, TECNO POVA 3, TECNO SPARK 10 Pro, TECNO SPARK 20, Vivo Y03, Xiaomi 24040RN64Y, Xiaomi 24049RN28L). Le premier pilote cité est comparé au second, qui sert de référence.
SystèmeMali-G52 MC2
contrePersonnaliséPanVK-Kbase-Android-v0.1.0-rc4-5a07217f
Version du système graphique (Vulkan)1.3.278 à 1.3.363
Fonctionnalités optionnelles (extensions)132 à 159+45 -18
Fonctionnalités qui réussissent leur vérification (validées)51 à 3810 réussies uniquement sur PanVK-Kbase-Android-v0.1.0-rc4-5a07217f 23 réussies uniquement sur Mali-G52 MC2
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-G52 MC2 Détails de PanVK-Kbase-Android-v0.1.0-rc4-5a07217f
Vérifications des fonctionnalités qui diffèrent (47)
| Fonctionnalité | Système | Personnalisé | Variation |
|---|---|---|---|
| transformFeedback | réussi | non pris en charge | perdu |
| shaderBufferInt64Atomics | réussi | non pris en charge | perdu |
| geometryShader | réussi | non pris en charge | perdu |
| largePoints | réussi | non testé | perdu |
| occlusionQueryPrecise | réussi | échec | perdu |
| tessellationShader | réussi | non pris en charge | 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.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 |
| limit.uniform_buffer_range | réussi | échec | 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.many_command_buffers_one_submit | réussi | non testé | perdu |
| stress.spill_helper_lanes | réussi | non testé | perdu |
| sync.first_submit_clear_then_compute | réussi | non testé | perdu |
| colorWriteEnable | non pris en charge | réussi | gagné |
| depthClipControl | 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é |
| textureCompressionBC | non pris en charge | réussi | gagné |
| push.max_uniform_buffers | non pris en charge | réussi | gagné |
| customBorderColorWithoutFormat | non testé | non pris en charge | modifié |
| depthBiasControl | non pris en charge | non testé | modifié |
| depthBiasExact | non pris en charge | non testé | modifié |
| extendedDynamicState2PatchControlPoints | non testé | non pris en charge | modifié |
| extendedDynamicState3AlphaToCoverageEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3DepthClipEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3ProvokingVertexMode | non testé | non pris en charge | modifié |
| extendedDynamicState3RasterizationSamples | non pris en charge | non testé | modifié |
| extendedDynamicState3TessellationDomainOrigin | non testé | non pris en charge | modifié |
| shaderSharedInt64Atomics | non testé | non pris en charge | modifié |
| depthClamp | non pris en charge | non testé | modifié |
| push.max_combined_image_samplers | non pris en charge | plantage | modifié |
| stage.geometry_point_size | non pris en charge | non testé | modifié |
| stress.scratch_per_batch | 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-Kbase-Android-v0.1.0-rc4-5a07217f (45)
- VK_ARM_scheduling_controls
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_buffer_device_address
- VK_EXT_color_write_enable
- 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_graphics_pipeline_library
- VK_EXT_hdr_metadata
- VK_EXT_host_image_copy
- VK_EXT_image_view_min_lod
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_non_seamless_cube_map
- VK_EXT_physical_device_drm
- VK_EXT_present_timing
- VK_EXT_shader_atomic_float
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_vertex_attribute_divisor
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_internally_synchronized_queues
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- 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_clock
- VK_KHR_shader_constant_data
- VK_KHR_shader_fma
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_swapchain_maintenance1
- VK_KHR_unified_image_layouts
- VK_KHR_workgroup_memory_explicit_layout
Extensions uniquement dans Mali-G52 MC2 (18)
- VK_ANDROID_external_format_resolve
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_device_fault
- VK_EXT_frame_boundary
- VK_EXT_image_compression_control_swapchain
- VK_EXT_pipeline_protected_access
- VK_EXT_primitives_generated_query
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_rgba10x6_formats
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_tile_image
- VK_EXT_subpass_merge_feedback
- VK_EXT_transform_feedback
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shared_presentable_image
Fonctionnalités de base qui diffèrent (16)
| descriptorBindingVariableDescriptorCount | non pris en charge à réussi |
| runtimeDescriptorArray | non pris en charge à réussi |
| shaderBufferInt64Atomics | réussi à non pris en charge |
| shaderFloat16 | réussi à non pris en charge |
| shaderInputAttachmentArrayDynamicIndexing | non pris en charge à réussi |
| shaderInputAttachmentArrayNonUniformIndexing | non pris en charge à réussi |
| shaderOutputViewportIndex | réussi à non pris en charge |
| shaderSampledImageArrayNonUniformIndexing | non pris en charge à réussi |
| shaderSharedInt64Atomics | réussi à non pris en charge |
| 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 |
| shaderUniformBufferArrayNonUniformIndexing | non pris en charge à réussi |
| shaderUniformTexelBufferArrayDynamicIndexing | non pris en charge à réussi |
| shaderUniformTexelBufferArrayNonUniformIndexing | 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 | 2147483648 | 4294967295 |
| maxMemoryAllocationCount | 16384 | 4294967295 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 0 | 17146314752 |
| maxPerStageDescriptorUniformBuffers | 241 | 223 |
| maxPerStageDescriptorStorageBuffers | 35 | 64 |
| maxPerStageDescriptorStorageImages | 21 | 32 |
| maxPerStageResources | 570 | 712 |
| maxDescriptorSetSamplers | 768 | 65535 |
| maxDescriptorSetUniformBuffers | 1446 | 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 |
| 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 | 128 | 0 |
| maxGeometryOutputComponents | 128 | 0 |
| maxGeometryOutputVertices | 256 | 0 |
| maxGeometryTotalOutputComponents | 2048 | 0 |
| maxFragmentDualSrcAttachments | 8 | 1 |
| maxFragmentCombinedOutputResources | 64 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxSamplerLodBias | 126 | 127.996 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 16 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| framebufferNoAttachmentsSampleCounts | 29 | 5 |
| timestampComputeAndGraphics | 1 | 0 |
| timestampPeriod | 76.9231 | 0 |
| pointSizeRange | 1, 1024 | 0.125, 4095.94 |
| lineWidthRange | 1, 4095.94 | 0, 7.99219 |
| lineWidthGranularity | 0.0625 | 0.0078125 |
Formats pris en charge par un seul pilote (21 gagnés, 12 perdus)
- A2R10G10B10_SNORM_PACK32
- 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
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
- B5G5R5A1_UNORM_PACK16
- B8G8R8G8_422_UNORM
- B8G8R8_SNORM
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- G8B8G8R8_422_UNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16
- R64_SINT
- R64_UINT