FauxVkDB
Português
Início / Mali-G52 / Comparar

PanVK-Droid.0.3.5 vs malisx2-0.2.3-b85d5f7f36

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, TECNO POVA 3, TECNO SPARK 20, Xiaomi 24049RN28L). O primeiro driver citado é comparado com o segundo, que é a referência.

Sistemamalisx2-0.2.3-b85d5f7f36v1.r44p1-malisx2.0.2.3.s22f19f5370b1
vs
CustomizadoPanVK-Droid.0.3.5v1.r49p1-03bet0.19498e0ae1d5dac223383c39a2e58f04
Versão do sistema gráfico (Vulkan)1.1.363 a 1.3.278
Recursos opcionais (extensões)15 a 131+118 -2
Recursos que passam na verificação (validados)22 a 3414 passaram só no PanVK-Droid.0.3.5 2 passaram só no malisx2-0.2.3-b85d5f7f36
Cenas do teste de velocidade (benchmark)2 mais rápidas 0 mais lentas29% 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_nbody28% mais rápido
  • pipeline_barriers30% mais rápido

Driver customizado contra o do sistema, por cena. Barras à direita são mais rápidas, à esquerda mais lentas.

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: hdr_2160p (do sistema 0 de 3, customizado 3 de 3), subpasses (do sistema 0 de 3, customizado 3 de 3).

Detalhes do malisx2-0.2.3-b85d5f7f36 Detalhes do PanVK-Droid.0.3.5

Verificações de recursos que diferem (30)

Recursomalisx2-0.2.3-b85d5f7f36PanVK-Droid.0.3.5Mudança
push.max_combined_image_samplers
core
passousem suporteperdidos
push.max_uniform_buffers
core
passousem suporteperdidos
borderColorSwizzle
VK_EXT_border_color_swizzle
sem suportepassouganhos
customBorderColors
VK_EXT_custom_border_color
sem suportepassouganhos
extendedDynamicState
VK_EXT_extended_dynamic_state
sem suportepassouganhos
extendedDynamicState2
VK_EXT_extended_dynamic_state2
sem suportepassouganhos
inlineUniformBlock
VK_EXT_inline_uniform_block
sem suportepassouganhos
transformFeedback
VK_EXT_transform_feedback
sem suportepassouganhos
vertexInputDynamicState
VK_EXT_vertex_input_dynamic_state
sem suportepassouganhos
shaderBufferInt64Atomics
VK_KHR_shader_atomic_int64
sem suportepassouganhos
timelineSemaphore
VK_KHR_timeline_semaphore
sem suportepassouganhos
drawIndirectFirstInstance
VkPhysicalDeviceFeatures
sem suportepassouganhos
geometryShader
VkPhysicalDeviceFeatures
sem suportepassouganhos
occlusionQueryPrecise
VkPhysicalDeviceFeatures
falhoupassouganhos
tessellationShader
VkPhysicalDeviceFeatures
sem suportepassouganhos
core.msaa_resolve
core
falhoupassouganhos
borderColorSwizzleFromImage
VK_EXT_border_color_swizzle
sem suportenão testadomudou
customBorderColorWithoutFormat
VK_EXT_custom_border_color
sem suportenão testadomudou
extendedDynamicState2PatchControlPoints
VK_EXT_extended_dynamic_state2
sem suportenão testadomudou
extendedDynamicState3LineRasterizationMode
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3ProvokingVertexMode
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3SampleMask
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3TessellationDomainOrigin
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
descriptorBindingInlineUniformBlockUpdateAfterBind
VK_EXT_inline_uniform_block
sem suportenão testadomudou
shaderSharedInt64Atomics
VK_KHR_shader_atomic_int64
sem suportenão testadomudou
depthClamp
VkPhysicalDeviceFeatures
não testadosem suportemudou
logicOp
VkPhysicalDeviceFeatures
sem suportenão testadomudou
shaderClipDistance
VkPhysicalDeviceFeatures
não testadosem suportemudou
shaderInt64
VkPhysicalDeviceFeatures
sem suportenão testadomudou
wideLines
VkPhysicalDeviceFeatures
sem suportenão testadomudou

Cenas do teste de velocidade (benchmark)

Cenamalisx2-0.2.3-b85d5f7f36 msPanVK-Droid.0.3.5 msDiferençaIníciosClock da GPU, MHzImagem vs driver do sistema
compute_nbody103.07 típico 103.0780.79 típico 81.5028% mais rápido3 de 3 vs 3 de 3? vs ? clock desconhecidosem diferença grande 0.0 sem diferença pequena pior 0.0 64x36
hdr_2160pn/a173.86 típico 173.13só um lado0 de 3 vs 3 de 3? vs ? clock desconhecidonão verificado
oit_linked_lists73.07n/asó um lado3 de 3 vs 3 de 3? vs ? clock desconhecidosem diferença grande 0.0 sem diferença pequena pior 0.0 64x36
pipeline_barriers86.77 típico 88.9966.50 típico 67.6630% mais rápido3 de 3 vs 3 de 3? vs ? clock desconhecidosem diferença grande 9.9 difere em 1470 áreas pequenas pior 63.3 64x36
subpassesn/a127.93 típico 128.69só um lado0 de 3 vs 3 de 3? vs ? clock desconhecidonão verificado

Tempo para desenhar um frame, por cena: o frametime médio da melhor rodada da cena, que indica quantos frames o driver entregou; menor é mais rápido. “Típico” ao lado é o frame mediano, que pode ficar bem abaixo da média quando os frames de um driver chegam em duas velocidades. Um par de relatórios feitos antes de as médias por rodada serem registradas é comparado pela mediana. Uma cena cujas rodadas divergem em mais de 15% fica de fora. Uma cena marcada “capada” foi mantida nesse frametime médio pelo driver ou pela fila de exibição, junto com pelo menos outra cena da mesma execução; o tempo dela diz como os frames foram espaçados, não quão rápido o driver renderizou, então não é comparada. Uma cena marcada “leve demais” levou menos de 8 ms no tamanho padrão (1920 por 1080) nos dois drivers, onde a fila de frames da tela espaça os frames mais do que o chip; a execução mais pesada é a comparada: a linha terminada em _2160p é a cena desenhada em 3840 por 2160, e compute_nbody_2x é essa cena com o dobro de partículas. “Mais rápido” e “mais lento” descrevem PanVK-Droid.0.3.5 em relação a malisx2-0.2.3-b85d5f7f36. “Imagem vs driver do sistema” compara um frame fixo por cena como uma grade de cores grosseira (0 é idêntico, acima de 40 é uma imagem diferente); ela detecta uma cena que não foi desenhada. Quando os dois relatórios trazem a grade mais fina de 64x36, o segundo número é quantas das 2.304 células diferem em mais de 4 de 255, e “pior” é a maior célula individual; é isso que detecta um pequeno erro de renderização em uma imagem que, no mais, bate. Uma linha marcada 16x9 vem de um relatório feito antes de existir a grade mais fina. “Inícios” é quantos inícios de processo de uma cena chegaram a uma rodada medida. Um clock da GPU marcado “não comparável” diferiu em mais de 5% do máximo do aparelho entre as duas medições.

Diferenças técnicas (Vulkan)

Extensões só no PanVK-Droid.0.3.5 (118)
  • VK_ANDROID_external_format_resolve
  • VK_ANDROID_external_memory_android_hardware_buffer
  • VK_ARM_shader_core_builtins
  • VK_ARM_shader_core_properties
  • VK_EXT_4444_formats
  • VK_EXT_astc_decode_mode
  • VK_EXT_border_color_swizzle
  • VK_EXT_calibrated_timestamps
  • VK_EXT_custom_border_color
  • VK_EXT_debug_marker
  • 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_frame_boundary
  • VK_EXT_global_priority
  • VK_EXT_global_priority_query
  • VK_EXT_host_query_reset
  • VK_EXT_image_2d_view_of_3d
  • VK_EXT_image_compression_control
  • VK_EXT_image_compression_control_swapchain
  • VK_EXT_image_drm_format_modifier
  • VK_EXT_image_robustness
  • VK_EXT_image_sliced_view_of_3d
  • VK_EXT_index_type_uint8
  • VK_EXT_inline_uniform_block
  • VK_EXT_legacy_dithering
  • VK_EXT_load_store_op_none
  • VK_EXT_multisampled_render_to_single_sampled
  • VK_EXT_pipeline_creation_cache_control
  • VK_EXT_pipeline_creation_feedback
  • VK_EXT_pipeline_protected_access
  • VK_EXT_pipeline_robustness
  • VK_EXT_primitive_topology_list_restart
  • VK_EXT_primitives_generated_query
  • VK_EXT_private_data
  • VK_EXT_queue_family_foreign
  • VK_EXT_rgba10x6_formats
  • VK_EXT_scalar_block_layout
  • VK_EXT_separate_stencil_usage
  • VK_EXT_shader_demote_to_helper_invocation
  • VK_EXT_shader_image_atomic_int64
  • VK_EXT_shader_subgroup_ballot
  • VK_EXT_shader_subgroup_vote
  • VK_EXT_shader_tile_image
  • VK_EXT_subgroup_size_control
  • VK_EXT_subpass_merge_feedback
  • VK_EXT_texel_buffer_alignment
  • VK_EXT_texture_compression_astc_hdr
  • VK_EXT_tooling_info
  • VK_EXT_transform_feedback
  • VK_EXT_vertex_input_dynamic_state
  • VK_GOOGLE_decorate_string
  • 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_create_renderpass2
  • VK_KHR_dedicated_allocation
  • VK_KHR_depth_stencil_resolve
  • VK_KHR_descriptor_update_template
  • VK_KHR_device_group
  • VK_KHR_dynamic_rendering
  • 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_load_store_op_none
  • VK_KHR_maintenance1
  • VK_KHR_maintenance2
  • VK_KHR_maintenance3
  • VK_KHR_maintenance4
  • VK_KHR_maintenance5
  • VK_KHR_maintenance6
  • VK_KHR_map_memory2
  • VK_KHR_multiview
  • 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_atomic_int64
  • 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_integer_dot_product
  • VK_KHR_shader_maximal_reconvergence
  • VK_KHR_shader_non_semantic_info
  • VK_KHR_shader_quad_control
  • VK_KHR_shader_subgroup_extended_types
  • VK_KHR_shader_subgroup_rotate
  • VK_KHR_shader_subgroup_uniform_control_flow
  • VK_KHR_shader_terminate_invocation
  • VK_KHR_shared_presentable_image
  • VK_KHR_spirv_1_4
  • VK_KHR_storage_buffer_storage_class
  • VK_KHR_synchronization2
  • VK_KHR_timeline_semaphore
  • VK_KHR_uniform_buffer_standard_layout
  • VK_KHR_variable_pointers
  • VK_KHR_vertex_attribute_divisor
  • VK_KHR_vulkan_memory_model
  • VK_KHR_zero_initialize_workgroup_memory
Extensões só no malisx2-0.2.3-b85d5f7f36 (2)
  • VK_EXT_memory_budget
  • VK_KHR_push_descriptor
Recursos básicos que diferem (45)
multiview Vulkan 1.1sem suporte a passou
samplerYcbcrConversion Vulkan 1.1sem suporte a passou
shaderDrawParameters Vulkan 1.1sem suporte a passou
storageBuffer16BitAccess Vulkan 1.1sem suporte a passou
storageInputOutput16 Vulkan 1.1sem suporte a passou
storagePushConstant16 Vulkan 1.1sem suporte a passou
uniformAndStorageBuffer16BitAccess Vulkan 1.1sem suporte a passou
variablePointers Vulkan 1.1sem suporte a passou
variablePointersStorageBuffer Vulkan 1.1sem suporte a passou
bufferDeviceAddress Vulkan 1.2sem suporte a passou
hostQueryReset Vulkan 1.2sem suporte a passou
imagelessFramebuffer Vulkan 1.2sem suporte a passou
samplerMirrorClampToEdge Vulkan 1.2sem suporte a passou
scalarBlockLayout Vulkan 1.2sem suporte a passou
separateDepthStencilLayouts Vulkan 1.2sem suporte a passou
shaderBufferInt64Atomics Vulkan 1.2sem suporte a passou
shaderFloat16 Vulkan 1.2sem suporte a passou
shaderInt8 Vulkan 1.2sem suporte a passou
shaderOutputViewportIndex Vulkan 1.2sem suporte a passou
shaderSharedInt64Atomics Vulkan 1.2sem suporte a passou
shaderSubgroupExtendedTypes Vulkan 1.2sem suporte a passou
storageBuffer8BitAccess Vulkan 1.2sem suporte a passou
storagePushConstant8 Vulkan 1.2sem suporte a passou
subgroupBroadcastDynamicId Vulkan 1.2sem suporte a passou
timelineSemaphore Vulkan 1.2sem suporte a passou
uniformAndStorageBuffer8BitAccess Vulkan 1.2sem suporte a passou
uniformBufferStandardLayout Vulkan 1.2sem suporte a passou
vulkanMemoryModel Vulkan 1.2sem suporte a passou
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2sem suporte a passou
vulkanMemoryModelDeviceScope Vulkan 1.2sem suporte a passou
computeFullSubgroups Vulkan 1.3sem suporte a passou
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3sem suporte a passou
dynamicRendering Vulkan 1.3sem suporte a passou
inlineUniformBlock Vulkan 1.3sem suporte a passou
maintenance4 Vulkan 1.3sem suporte a passou
pipelineCreationCacheControl Vulkan 1.3sem suporte a passou
privateData Vulkan 1.3sem suporte a passou
robustImageAccess Vulkan 1.3sem suporte a passou
shaderDemoteToHelperInvocation Vulkan 1.3sem suporte a passou
shaderIntegerDotProduct Vulkan 1.3sem suporte a passou
shaderTerminateInvocation Vulkan 1.3sem suporte a passou
shaderZeroInitializeWorkgroupMemory Vulkan 1.3sem suporte a passou
subgroupSizeControl Vulkan 1.3sem suporte a passou
synchronization2 Vulkan 1.3sem suporte a passou
textureCompressionASTC_HDR Vulkan 1.3sem suporte a passou
Limites que diferem (45)
Limitemalisx2-0.2.3-b85d5f7f36PanVK-Droid.0.3.5
maxSamplerAllocationCount40004294967295
maxPerStageDescriptorUniformBuffers223241
maxPerStageDescriptorStorageBuffers6435
maxPerStageDescriptorSampledImages208256
maxPerStageDescriptorStorageImages3221
maxPerStageResources664570
maxDescriptorSetSamplers65535768
maxDescriptorSetUniformBuffers2231446
maxDescriptorSetUniformBuffersDynamic1632
maxDescriptorSetStorageBuffers4096210
maxDescriptorSetStorageBuffersDynamic832
maxDescriptorSetSampledImages655351536
maxDescriptorSetStorageImages256126
maxVertexInputAttributes1632
maxVertexInputBindings1632
maxVertexInputAttributeOffset42949672952047
maxVertexInputBindingStride655352048
maxTessellationGenerationLevel064
maxTessellationPatchSize032
maxTessellationControlPerVertexInputComponents0128
maxTessellationControlPerVertexOutputComponents0128
maxTessellationControlPerPatchOutputComponents0120
maxTessellationControlTotalOutputComponents04096
maxTessellationEvaluationInputComponents0128
maxTessellationEvaluationOutputComponents0128
maxGeometryShaderInvocations032
maxGeometryInputComponents0128
maxGeometryOutputComponents0128
maxGeometryOutputVertices0256
maxGeometryTotalOutputComponents02048
maxFragmentDualSrcAttachments18
maxFragmentCombinedOutputResources436064
maxComputeWorkGroupCount65535, 65535, 655354294967295, 4294967295, 4294967295
maxInterpolationOffset0.50.4375
framebufferColorSampleCounts295
framebufferDepthSampleCounts295
framebufferStencilSampleCounts295
sampledImageColorSampleCounts295
sampledImageIntegerSampleCounts295
sampledImageDepthSampleCounts295
sampledImageStencilSampleCounts295
maxClipDistances80
maxCombinedClipAndCullDistances80
lineWidthRange1, 11, 4095.94
lineWidthGranularity00.0625
Formatos suportados por só um driver (34 ganhos, 11 perdidos)

Só no PanVK-Droid.0.3.5:

  • 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
  • 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
  • G8_B8R8_2PLANE_420_UNORM
  • G8_B8R8_2PLANE_422_UNORM
  • G8_B8_R8_3PLANE_420_UNORM
  • G8_B8_R8_3PLANE_422_UNORM
  • R4G4_UNORM_PACK8
  • R5G5B5A1_UNORM_PACK16
  • R64_SINT
  • R64_UINT

Só no malisx2-0.2.3-b85d5f7f36:

  • 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
  • R10X6G10X6_UNORM_2PACK16
  • R10X6_UNORM_PACK16