malisx2-0.3.1-8cdb0f68cd vs Mesa-PanVK-Android-v26.3.1-795ca7ff
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 24040RN64Y, Xiaomi 24049RN28L). 最初に挙げたドライバーを、2番目のドライバー(ベースライン)と比べています。
純正Mesa-PanVK-Android-v26.3.1-795ca7ff
vsカスタムmalisx2-0.3.1-8cdb0f68cd
グラフィックスのシステムバージョン(Vulkan)1.3.363 → 1.1.366
追加機能(拡張機能)166 → 19+3 -150
チェックに成功した機能(検証済み)47 → 24malisx2-0.3.1-8cdb0f68cdでのみ成功 2 Mesa-PanVK-Android-v26.3.1-795ca7ffでのみ成功 25
速度テストのシーン(ベンチマーク)共通のシーンなし
各ドライバーが動かせそうなゲーム(機能リストからの目安): 緑は動く見込み、黄は動くかも、橙は厳しい、赤は動かない
純正DX92002+DX102006+DX112009+DX122015+Switch
カスタムDX92002+DX102006+DX112009+DX122015+Switch
Mesa-PanVK-Android-v26.3.1-795ca7ffの詳細 malisx2-0.3.1-8cdb0f68cdの詳細
結果が異なる機能チェック(52)
| 機能 | Mesa-PanVK-Android-v26.3.1-795ca7ff | malisx2-0.3.1-8cdb0f68cd | 変化 |
|---|---|---|---|
| borderColorSwizzle | 成功 | 非対応 | 欠落 |
| colorWriteEnable | 成功 | 非対応 | 欠落 |
| customBorderColors | 成功 | 非対応 | 欠落 |
| depthClipControl | 成功 | 非対応 | 欠落 |
| extendedDynamicState | 成功 | 非対応 | 欠落 |
| extendedDynamicState2 | 成功 | 非対応 | 欠落 |
| extendedDynamicState2LogicOp | 成功 | 非対応 | 欠落 |
| extendedDynamicState3ColorBlendEnable | 成功 | 非対応 | 欠落 |
| extendedDynamicState3ColorBlendEquation | 成功 | 非対応 | 欠落 |
| extendedDynamicState3ColorWriteMask | 成功 | 非対応 | 欠落 |
| extendedDynamicState3DepthClampEnable | 成功 | 非対応 | 欠落 |
| extendedDynamicState3LogicOpEnable | 成功 | 非対応 | 欠落 |
| inlineUniformBlock | 成功 | 非対応 | 欠落 |
| robustBufferAccess2 | 成功 | 非対応 | 欠落 |
| transformFeedback | 成功 | 非対応 | 欠落 |
| vertexInputDynamicState | 成功 | 非対応 | 欠落 |
| shaderBufferInt64Atomics | 成功 | 非対応 | 欠落 |
| drawIndirectFirstInstance | 成功 | 非対応 | 欠落 |
| geometryShader | 成功 | 非対応 | 欠落 |
| multiDrawIndirect | 成功 | 非対応 | 欠落 |
| multiViewport | 成功 | 非対応 | 欠落 |
| tessellationShader | 成功 | 非対応 | 欠落 |
| textureCompressionBC | 成功 | 非対応 | 欠落 |
| core.msaa_resolve | 成功 | 非対応 | 欠落 |
| stress.multi_draw_indirect_large | 成功 | 非対応 | 欠落 |
| limit.uniform_buffer_range | 失敗 | 成功 | 追加 |
| push.max_combined_image_samplers | クラッシュ | 成功 | 追加 |
| borderColorSwizzleFromImage | 未テスト | 非対応 | 変更あり |
| customBorderColorWithoutFormat | 未テスト | 非対応 | 変更あり |
| depthBiasControl | 未テスト | 非対応 | 変更あり |
| depthBiasExact | 未テスト | 非対応 | 変更あり |
| extendedDynamicState2PatchControlPoints | 未テスト | 非対応 | 変更あり |
| extendedDynamicState3AlphaToCoverageEnable | 未テスト | 非対応 | 変更あり |
| extendedDynamicState3DepthClipEnable | 未テスト | 非対応 | 変更あり |
| extendedDynamicState3LineRasterizationMode | 未テスト | 非対応 | 変更あり |
| extendedDynamicState3RasterizationSamples | 未テスト | 非対応 | 変更あり |
| extendedDynamicState3SampleMask | 未テスト | 非対応 | 変更あり |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 未テスト | 非対応 | 変更あり |
| nullDescriptor | 未テスト | 非対応 | 変更あり |
| robustImageAccess2 | 失敗 | 非対応 | 変更あり |
| geometryStreams | 未テスト | 非対応 | 変更あり |
| shaderSharedInt64Atomics | 未テスト | 非対応 | 変更あり |
| depthBounds | 未テスト | 非対応 | 変更あり |
| fillModeNonSolid | 未テスト | 非対応 | 変更あり |
| logicOp | 未テスト | 非対応 | 変更あり |
| pipelineStatisticsQuery | 未テスト | 非対応 | 変更あり |
| shaderCullDistance | 未テスト | 非対応 | 変更あり |
| shaderInt64 | 未テスト | 非対応 | 変更あり |
| shaderTessellationAndGeometryPointSize | 未テスト | 非対応 | 変更あり |
| variableMultisampleRate | 未テスト | 非対応 | 変更あり |
| vertexPipelineStoresAndAtomics | 未テスト | 非対応 | 変更あり |
| wideLines | 未テスト | 非対応 | 変更あり |
速度テストのシーン(ベンチマーク)
| シーン | Mesa-PanVK-Android-v26.3.1-795ca7ff ms | malisx2-0.3.1-8cdb0f68cd ms | 差 | 起動 | GPUクロック(MHz) | 純正との映像比較 |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 103.02 | 片方のみ | ? vs 3中3 | ? vs ? | 未チェック |
| oit_linked_lists | n/a | 72.85 | 片方のみ | ? vs 3中3 | ? vs ? | 未チェック |
| pipeline_barriers | n/a | 85.93 | 片方のみ | ? vs 3中3 | ? vs ? | 未チェック |
技術的な違い(Vulkan)
malisx2-0.3.1-8cdb0f68cdだけにある拡張機能(3)
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_device_fault
- VK_EXT_rasterization_order_attachment_access
Mesa-PanVK-Android-v26.3.1-795ca7ffだけにある拡張機能(150)
- 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_astc_decode_mode
- 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_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_compression_control
- 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_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_queue_family_foreign
- VK_EXT_robustness2
- 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_transform_feedback
- 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_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_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_atomic_int64
- VK_KHR_shader_clock
- VK_KHR_shader_constant_data
- 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
- VK_VALVE_mutable_descriptor_type
差があるコア機能(65)
| multiview | 成功 → 非対応 |
| samplerYcbcrConversion | 成功 → 非対応 |
| shaderDrawParameters | 成功 → 非対応 |
| storageBuffer16BitAccess | 成功 → 非対応 |
| storageInputOutput16 | 成功 → 非対応 |
| storagePushConstant16 | 成功 → 非対応 |
| uniformAndStorageBuffer16BitAccess | 成功 → 非対応 |
| variablePointers | 成功 → 非対応 |
| variablePointersStorageBuffer | 成功 → 非対応 |
| bufferDeviceAddress | 成功 → 非対応 |
| descriptorBindingPartiallyBound | 成功 → 非対応 |
| descriptorBindingSampledImageUpdateAfterBind | 成功 → 非対応 |
| descriptorBindingStorageBufferUpdateAfterBind | 成功 → 非対応 |
| descriptorBindingStorageImageUpdateAfterBind | 成功 → 非対応 |
| descriptorBindingStorageTexelBufferUpdateAfterBind | 成功 → 非対応 |
| descriptorBindingUniformBufferUpdateAfterBind | 成功 → 非対応 |
| descriptorBindingUniformTexelBufferUpdateAfterBind | 成功 → 非対応 |
| descriptorBindingUpdateUnusedWhilePending | 成功 → 非対応 |
| descriptorBindingVariableDescriptorCount | 成功 → 非対応 |
| descriptorIndexing | 成功 → 非対応 |
| hostQueryReset | 成功 → 非対応 |
| imagelessFramebuffer | 成功 → 非対応 |
| runtimeDescriptorArray | 成功 → 非対応 |
| samplerMirrorClampToEdge | 成功 → 非対応 |
| scalarBlockLayout | 成功 → 非対応 |
| separateDepthStencilLayouts | 成功 → 非対応 |
| shaderBufferInt64Atomics | 成功 → 非対応 |
| shaderInputAttachmentArrayDynamicIndexing | 成功 → 非対応 |
| shaderInputAttachmentArrayNonUniformIndexing | 成功 → 非対応 |
| shaderInt8 | 成功 → 非対応 |
| shaderOutputViewportIndex | 成功 → 非対応 |
| shaderSampledImageArrayNonUniformIndexing | 成功 → 非対応 |
| shaderSharedInt64Atomics | 成功 → 非対応 |
| shaderStorageBufferArrayNonUniformIndexing | 成功 → 非対応 |
| shaderStorageImageArrayNonUniformIndexing | 成功 → 非対応 |
| shaderStorageTexelBufferArrayDynamicIndexing | 成功 → 非対応 |
| shaderStorageTexelBufferArrayNonUniformIndexing | 成功 → 非対応 |
| shaderSubgroupExtendedTypes | 成功 → 非対応 |
| shaderUniformBufferArrayNonUniformIndexing | 成功 → 非対応 |
| shaderUniformTexelBufferArrayDynamicIndexing | 成功 → 非対応 |
| shaderUniformTexelBufferArrayNonUniformIndexing | 成功 → 非対応 |
| storageBuffer8BitAccess | 成功 → 非対応 |
| storagePushConstant8 | 成功 → 非対応 |
| subgroupBroadcastDynamicId | 成功 → 非対応 |
| timelineSemaphore | 成功 → 非対応 |
| uniformAndStorageBuffer8BitAccess | 成功 → 非対応 |
| uniformBufferStandardLayout | 成功 → 非対応 |
| vulkanMemoryModel | 成功 → 非対応 |
| vulkanMemoryModelAvailabilityVisibilityChains | 成功 → 非対応 |
| vulkanMemoryModelDeviceScope | 成功 → 非対応 |
| computeFullSubgroups | 成功 → 非対応 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 成功 → 非対応 |
| dynamicRendering | 成功 → 非対応 |
| inlineUniformBlock | 成功 → 非対応 |
| maintenance4 | 成功 → 非対応 |
| pipelineCreationCacheControl | 成功 → 非対応 |
| privateData | 成功 → 非対応 |
| robustImageAccess | 成功 → 非対応 |
| shaderDemoteToHelperInvocation | 成功 → 非対応 |
| shaderIntegerDotProduct | 成功 → 非対応 |
| shaderTerminateInvocation | 成功 → 非対応 |
| shaderZeroInitializeWorkgroupMemory | 成功 → 非対応 |
| subgroupSizeControl | 成功 → 非対応 |
| synchronization2 | 成功 → 非対応 |
| textureCompressionASTC_HDR | 成功 → 非対応 |
差がある制限(46)
| 上限 | Mesa-PanVK-Android-v26.3.1-795ca7ff | malisx2-0.3.1-8cdb0f68cd |
|---|---|---|
| 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 |
| sparseAddressSpaceSize | 17146314752 | 0 |
| maxPerStageDescriptorSampledImages | 176 | 208 |
| maxPerStageDescriptorStorageImages | 64 | 32 |
| 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 |
| maxDrawIndirectCount | 65535 | 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 |
| maxCullDistances | 8 | 0 |
| pointSizeRange | 0.125, 4095.94 | 1, 1024 |
| lineWidthRange | 0, 7.99219 | 1, 1 |
| lineWidthGranularity | 0.0078125 | 0 |
片方のドライバーだけが対応するフォーマット(追加2、欠落42)
- 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
- 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_420_UNORM
- G8_B8R8_2PLANE_422_UNORM
- G8_B8R8_2PLANE_444_UNORM
- G8_B8_R8_3PLANE_420_UNORM
- G8_B8_R8_3PLANE_422_UNORM