malisx2-0.3.0-c8d18effb1 vs panvk-g76-armsx2-v9
Na 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). O primeiro driver citado é comparado com o segundo, que é a referência.
Sistemapanvk-g76-armsx2-v9
vsCustomizadomalisx2-0.3.0-c8d18effb1
Versão do sistema gráfico (Vulkan)1.3.354 a 1.1.363
Recursos opcionais (extensões)160 a 19+1 -142
Recursos que passam na verificação (validados)39 a 232 passaram só no malisx2-0.3.0-c8d18effb1 18 passaram só no panvk-g76-armsx2-v9
Cenas do teste de velocidade (benchmark)1 mais rápida 0 mais lentas 1 empate9% mais rápido no geral (média geométrica)
Jogos que cada driver poderia rodar (uma estimativa a partir da lista de recursos): verde provável, amarelo talvez, laranja limitado, vermelho não
SistemaDX92002+DX102006+DX112009+DX122015+Switch
CustomizadoDX92002+DX102006+DX112009+DX122015+Switch
- compute_nbody1% mais rápido
- pipeline_barriers17% mais rápido
Pequenas áreas da imagem diferem do driver do sistema em 1 cena (pipeline_barriers: 1470 de 2304 células). A imagem bate no geral, então isto é uma falha local de renderização, não uma cena diferente.
Nem sempre iniciou: subpasses (do sistema 3 de 3, customizado 0 de 3).
Detalhes do panvk-g76-armsx2-v9 Detalhes do malisx2-0.3.0-c8d18effb1
Verificações de recursos que diferem (38)
| Recurso | panvk-g76-armsx2-v9 | malisx2-0.3.0-c8d18effb1 | Mudança |
|---|---|---|---|
| borderColorSwizzle | passou | sem suporte | perdidos |
| colorWriteEnable | passou | sem suporte | perdidos |
| customBorderColors | passou | sem suporte | perdidos |
| depthClipControl | passou | sem suporte | perdidos |
| extendedDynamicState | passou | sem suporte | perdidos |
| extendedDynamicState2 | passou | sem suporte | perdidos |
| extendedDynamicState2LogicOp | passou | sem suporte | perdidos |
| extendedDynamicState3ColorBlendEnable | passou | sem suporte | perdidos |
| extendedDynamicState3ColorBlendEquation | passou | sem suporte | perdidos |
| extendedDynamicState3ColorWriteMask | passou | sem suporte | perdidos |
| extendedDynamicState3DepthClampEnable | passou | sem suporte | perdidos |
| extendedDynamicState3LogicOpEnable | passou | sem suporte | perdidos |
| inlineUniformBlock | passou | sem suporte | perdidos |
| vertexInputDynamicState | passou | sem suporte | perdidos |
| drawIndirectFirstInstance | passou | sem suporte | perdidos |
| multiViewport | passou | sem suporte | perdidos |
| core.msaa_resolve | passou | sem suporte | perdidos |
| stress.multi_draw_indirect_large | passou | sem suporte | perdidos |
| limit.uniform_buffer_range | falhou | passou | ganhos |
| push.max_combined_image_samplers | crash | passou | ganhos |
| borderColorSwizzleFromImage | não testado | sem suporte | mudou |
| depthBiasControl | não testado | sem suporte | mudou |
| depthBiasExact | não testado | sem suporte | mudou |
| extendedDynamicState3AlphaToCoverageEnable | não testado | sem suporte | mudou |
| extendedDynamicState3DepthClipEnable | não testado | sem suporte | mudou |
| extendedDynamicState3LineRasterizationMode | não testado | sem suporte | mudou |
| extendedDynamicState3RasterizationSamples | não testado | sem suporte | mudou |
| extendedDynamicState3SampleMask | não testado | sem suporte | mudou |
| descriptorBindingInlineUniformBlockUpdateAfterBind | não testado | sem suporte | mudou |
| fillModeNonSolid | não testado | sem suporte | mudou |
| geometryShader | crash | sem suporte | mudou |
| logicOp | não testado | sem suporte | mudou |
| multiDrawIndirect | falhou | sem suporte | mudou |
| shaderCullDistance | não testado | sem suporte | mudou |
| shaderInt64 | não testado | sem suporte | mudou |
| shaderTessellationAndGeometryPointSize | não testado | sem suporte | mudou |
| tessellationShader | falhou | sem suporte | mudou |
| wideLines | não testado | sem suporte | mudou |
Cenas do teste de velocidade (benchmark)
| Cena | panvk-g76-armsx2-v9 ms | malisx2-0.3.0-c8d18effb1 ms | Diferença | Inícios | Clock da GPU, MHz | Imagem vs driver do sistema |
|---|---|---|---|---|---|---|
| compute_nbody | 104.48 | 102.96 | 1% mais rápido | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande sem diferença pequena |
| oit_linked_lists | n/a | 73.98 | só um lado | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande sem diferença pequena |
| pipeline_barriers | 101.82 | 86.88 | 17% mais rápido | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande difere em 1470 áreas pequenas |
| subpasses | 165.26 | n/a | só um lado | 3 de 3 vs 0 de 3 | ? vs ? | não verificado |
Diferenças técnicas (Vulkan)
Extensões só no malisx2-0.3.0-c8d18effb1 (1)
- VK_EXT_device_fault
Extensões só no panvk-g76-armsx2-v9 (142)
- VK_ANDROID_external_memory_android_hardware_buffer
- 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_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_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_external_memory_dma_buf
- VK_EXT_global_priority
- VK_EXT_global_priority_query
- VK_EXT_graphics_pipeline_library
- VK_EXT_hdr_metadata
- VK_EXT_host_image_copy
- VK_EXT_host_query_reset
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_drm_format_modifier
- VK_EXT_image_robustness
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_image_view_min_lod
- VK_EXT_index_type_uint8
- VK_EXT_inline_uniform_block
- VK_EXT_legacy_dithering
- VK_EXT_load_store_op_none
- VK_EXT_map_memory_placed
- VK_EXT_multisampled_render_to_single_sampled
- 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_queue_family_foreign
- VK_EXT_scalar_block_layout
- VK_EXT_separate_stencil_usage
- 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_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_subgroup_size_control
- VK_EXT_texel_buffer_alignment
- VK_EXT_texture_compression_astc_hdr
- 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_16bit_storage
- VK_KHR_8bit_storage
- VK_KHR_bind_memory2
- VK_KHR_buffer_device_address
- VK_KHR_calibrated_timestamps
- VK_KHR_copy_commands2
- VK_KHR_dedicated_allocation
- VK_KHR_depth_clamp_zero_one
- VK_KHR_descriptor_update_template
- VK_KHR_device_group
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_external_fence
- VK_KHR_external_memory
- VK_KHR_external_memory_fd
- VK_KHR_external_semaphore
- VK_KHR_format_feature_flags2
- VK_KHR_get_memory_requirements2
- VK_KHR_global_priority
- VK_KHR_image_format_list
- VK_KHR_imageless_framebuffer
- VK_KHR_index_type_uint8
- VK_KHR_internally_synchronized_queues
- VK_KHR_load_store_op_none
- VK_KHR_maintenance1
- VK_KHR_maintenance2
- VK_KHR_maintenance3
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_map_memory2
- VK_KHR_multiview
- VK_KHR_pipeline_binary
- 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_relaxed_block_layout
- VK_KHR_sampler_mirror_clamp_to_edge
- VK_KHR_sampler_ycbcr_conversion
- VK_KHR_separate_depth_stencil_layouts
- VK_KHR_shader_clock
- VK_KHR_shader_draw_parameters
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float16_int8
- VK_KHR_shader_float_controls
- 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_extended_types
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_terminate_invocation
- VK_KHR_spirv_1_4
- VK_KHR_storage_buffer_storage_class
- VK_KHR_swapchain_maintenance1
- VK_KHR_swapchain_mutable_format
- VK_KHR_synchronization2
- VK_KHR_unified_image_layouts
- VK_KHR_uniform_buffer_standard_layout
- VK_KHR_variable_pointers
- VK_KHR_vertex_attribute_divisor
- VK_KHR_vulkan_memory_model
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
Recursos básicos que diferem (62)
| multiview | passou a sem suporte |
| samplerYcbcrConversion | passou a sem suporte |
| shaderDrawParameters | passou a sem suporte |
| storageBuffer16BitAccess | passou a sem suporte |
| storageInputOutput16 | passou a sem suporte |
| storagePushConstant16 | passou a sem suporte |
| uniformAndStorageBuffer16BitAccess | passou a sem suporte |
| variablePointers | passou a sem suporte |
| variablePointersStorageBuffer | passou a sem suporte |
| bufferDeviceAddress | passou a sem suporte |
| descriptorBindingPartiallyBound | passou a sem suporte |
| descriptorBindingSampledImageUpdateAfterBind | passou a sem suporte |
| descriptorBindingStorageBufferUpdateAfterBind | passou a sem suporte |
| descriptorBindingStorageImageUpdateAfterBind | passou a sem suporte |
| descriptorBindingStorageTexelBufferUpdateAfterBind | passou a sem suporte |
| descriptorBindingUniformBufferUpdateAfterBind | passou a sem suporte |
| descriptorBindingUniformTexelBufferUpdateAfterBind | passou a sem suporte |
| descriptorBindingUpdateUnusedWhilePending | passou a sem suporte |
| descriptorBindingVariableDescriptorCount | passou a sem suporte |
| descriptorIndexing | passou a sem suporte |
| hostQueryReset | passou a sem suporte |
| imagelessFramebuffer | passou a sem suporte |
| runtimeDescriptorArray | passou a sem suporte |
| samplerMirrorClampToEdge | passou a sem suporte |
| scalarBlockLayout | passou a sem suporte |
| separateDepthStencilLayouts | passou a sem suporte |
| shaderInputAttachmentArrayDynamicIndexing | passou a sem suporte |
| shaderInputAttachmentArrayNonUniformIndexing | passou a sem suporte |
| shaderInt8 | passou a sem suporte |
| shaderSampledImageArrayNonUniformIndexing | passou a sem suporte |
| shaderStorageBufferArrayNonUniformIndexing | passou a sem suporte |
| shaderStorageImageArrayNonUniformIndexing | passou a sem suporte |
| shaderStorageTexelBufferArrayDynamicIndexing | passou a sem suporte |
| shaderStorageTexelBufferArrayNonUniformIndexing | passou a sem suporte |
| shaderSubgroupExtendedTypes | passou a sem suporte |
| shaderUniformBufferArrayNonUniformIndexing | passou a sem suporte |
| shaderUniformTexelBufferArrayDynamicIndexing | passou a sem suporte |
| shaderUniformTexelBufferArrayNonUniformIndexing | passou a sem suporte |
| storageBuffer8BitAccess | passou a sem suporte |
| storagePushConstant8 | passou a sem suporte |
| subgroupBroadcastDynamicId | passou a sem suporte |
| timelineSemaphore | passou a sem suporte |
| uniformAndStorageBuffer8BitAccess | passou a sem suporte |
| uniformBufferStandardLayout | passou a sem suporte |
| vulkanMemoryModel | passou a sem suporte |
| vulkanMemoryModelAvailabilityVisibilityChains | passou a sem suporte |
| vulkanMemoryModelDeviceScope | passou a sem suporte |
| computeFullSubgroups | passou a sem suporte |
| descriptorBindingInlineUniformBlockUpdateAfterBind | passou a sem suporte |
| dynamicRendering | passou a sem suporte |
| inlineUniformBlock | passou a sem suporte |
| maintenance4 | passou a sem suporte |
| pipelineCreationCacheControl | passou a sem suporte |
| privateData | passou a sem suporte |
| robustImageAccess | passou a sem suporte |
| shaderDemoteToHelperInvocation | passou a sem suporte |
| shaderIntegerDotProduct | passou a sem suporte |
| shaderTerminateInvocation | passou a sem suporte |
| shaderZeroInitializeWorkgroupMemory | passou a sem suporte |
| subgroupSizeControl | passou a sem suporte |
| synchronization2 | passou a sem suporte |
| textureCompressionASTC_HDR | passou a sem suporte |
Limites que diferem (50)
| Limite | panvk-g76-armsx2-v9 | malisx2-0.3.0-c8d18effb1 |
|---|---|---|
| maxImageDimension1D | 65536 | 16384 |
| maxImageDimension2D | 65536 | 16384 |
| maxImageDimension3D | 65536 | 16384 |
| maxImageDimensionCube | 65536 | 16384 |
| maxImageArrayLayers | 65536 | 4096 |
| maxTexelBufferElements | 134217728 | 268435456 |
| maxUniformBufferRange | 1048576 | 65536 |
| maxStorageBufferRange | 4294967295 | 2147483648 |
| maxMemoryAllocationCount | 4294967295 | 16384 |
| maxSamplerAllocationCount | 4294967295 | 4000 |
| bufferImageGranularity | 64 | 1 |
| maxBoundDescriptorSets | 4 | 7 |
| maxPerStageDescriptorSampledImages | 256 | 208 |
| maxPerStageResources | 712 | 664 |
| 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 | 64 | 0 |
| maxGeometryOutputVertices | 256 | 0 |
| maxGeometryTotalOutputComponents | 1024 | 0 |
| maxFragmentDualSrcAttachments | 8 | 1 |
| maxDrawIndirectCount | 4294967295 | 1 |
| maxSamplerLodBias | 127.996 | 126 |
| maxViewports | 16 | 1 |
| minMemoryMapAlignment | 4096 | 64 |
| minTexelBufferOffsetAlignment | 16 | 64 |
| minStorageBufferOffsetAlignment | 16 | 64 |
| subPixelInterpolationOffsetBits | 8 | 4 |
| framebufferColorSampleCounts | 5 | 1 |
| framebufferDepthSampleCounts | 5 | 1 |
| framebufferStencilSampleCounts | 5 | 1 |
| framebufferNoAttachmentsSampleCounts | 5 | 1 |
| sampledImageColorSampleCounts | 5 | 1 |
| sampledImageIntegerSampleCounts | 5 | 1 |
| sampledImageDepthSampleCounts | 5 | 1 |
| sampledImageStencilSampleCounts | 5 | 1 |
| timestampComputeAndGraphics | 0 | 1 |
| timestampPeriod | 0 | 76.9231 |
| maxClipDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| pointSizeRange | 0.125, 4095.94 | 1, 1024 |
| lineWidthRange | 0, 7.99219 | 1, 1 |
| lineWidthGranularity | 0.0078125 | 0 |
Formatos suportados por só um driver (2 ganhos, 34 perdidos)
- R10X6G10X6_UNORM_2PACK16
- R10X6_UNORM_PACK16
- A1B5G5R5_UNORM_PACK16
- A4B4G4R4_UNORM_PACK16
- A4R4G4B4_UNORM_PACK16
- A8_UNORM
- ASTC_10x10_SFLOAT_BLOCK
- ASTC_10x5_SFLOAT_BLOCK
- ASTC_10x6_SFLOAT_BLOCK
- ASTC_10x8_SFLOAT_BLOCK
- ASTC_12x10_SFLOAT_BLOCK
- ASTC_12x12_SFLOAT_BLOCK
- ASTC_4x4_SFLOAT_BLOCK
- ASTC_5x4_SFLOAT_BLOCK
- ASTC_5x5_SFLOAT_BLOCK
- ASTC_6x5_SFLOAT_BLOCK
- ASTC_6x6_SFLOAT_BLOCK
- ASTC_8x5_SFLOAT_BLOCK
- ASTC_8x6_SFLOAT_BLOCK
- ASTC_8x8_SFLOAT_BLOCK
- 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
- G16_B16R16_2PLANE_420_UNORM
- G16_B16R16_2PLANE_422_UNORM
- G16_B16R16_2PLANE_444_UNORM
- G8_B8R8_2PLANE_420_UNORM
- G8_B8R8_2PLANE_422_UNORM
- G8_B8R8_2PLANE_444_UNORM
- G8_B8_R8_3PLANE_420_UNORM
- G8_B8_R8_3PLANE_422_UNORM