malisx2-0.3.0-c8d18effb1 vs panvk_faux123_v1.0.1
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). 最初に挙げたドライバーを、2番目のドライバー(ベースライン)と比べています。
純正panvk_faux123_v1.0.1
vsカスタムmalisx2-0.3.0-c8d18effb1
グラフィックスのシステムバージョン(Vulkan)1.3.363 → 1.1.363
追加機能(拡張機能)159 → 19+3 -143
チェックに成功した機能(検証済み)40 → 23malisx2-0.3.0-c8d18effb1でのみ成功 1 panvk_faux123_v1.0.1でのみ成功 18
速度テストのシーン(ベンチマーク)速い 0 遅い 3全体で13% 遅い(幾何平均)
各ドライバーが動かせそうなゲーム(機能リストからの目安): 緑は動く見込み、黄は動くかも、橙は厳しい、赤は動かない
純正DX92002+DX102006+DX112009+DX122015+Switch
カスタムDX92002+DX102006+DX112009+DX122015+Switch
- compute_nbody15% 遅い
- oit_linked_lists4% 遅い
- pipeline_barriers20% 遅い
純正ドライバーと映像の一部が少し違います: 2件のシーン (compute_nbody: 2304セル中15セル, pipeline_barriers: 2304セル中1711セル). 映像は全体として一致しているので、別のシーンではなく、一部の描画の不具合です。
毎回は起動しなかったもの: hdr_2160p (純正 3/3, カスタム 0/3), subpasses (純正 3/3, カスタム 0/3).
panvk_faux123_v1.0.1の詳細 malisx2-0.3.0-c8d18effb1の詳細
結果が異なる機能チェック(33)
| 機能 | panvk_faux123_v1.0.1 | malisx2-0.3.0-c8d18effb1 | 変化 |
|---|---|---|---|
| borderColorSwizzle | 成功 | 非対応 | 欠落 |
| colorWriteEnable | 成功 | 非対応 | 欠落 |
| customBorderColors | 成功 | 非対応 | 欠落 |
| depthClipControl | 成功 | 非対応 | 欠落 |
| extendedDynamicState | 成功 | 非対応 | 欠落 |
| extendedDynamicState2 | 成功 | 非対応 | 欠落 |
| extendedDynamicState2LogicOp | 成功 | 非対応 | 欠落 |
| extendedDynamicState3ColorBlendEnable | 成功 | 非対応 | 欠落 |
| extendedDynamicState3ColorBlendEquation | 成功 | 非対応 | 欠落 |
| extendedDynamicState3ColorWriteMask | 成功 | 非対応 | 欠落 |
| extendedDynamicState3DepthClampEnable | 成功 | 非対応 | 欠落 |
| extendedDynamicState3LogicOpEnable | 成功 | 非対応 | 欠落 |
| inlineUniformBlock | 成功 | 非対応 | 欠落 |
| vertexInputDynamicState | 成功 | 非対応 | 欠落 |
| drawIndirectFirstInstance | 成功 | 非対応 | 欠落 |
| textureCompressionBC | 成功 | 非対応 | 欠落 |
| compat.nested_map | 成功 | 未テスト | 欠落 |
| core.msaa_resolve | 成功 | 非対応 | 欠落 |
| limit.uniform_buffer_range | 失敗 | 成功 | 追加 |
| borderColorSwizzleFromImage | 未テスト | 非対応 | 変更あり |
| depthBiasControl | 未テスト | 非対応 | 変更あり |
| depthBiasExact | 未テスト | 非対応 | 変更あり |
| extendedDynamicState3AlphaToCoverageEnable | 未テスト | 非対応 | 変更あり |
| extendedDynamicState3DepthClipEnable | 未テスト | 非対応 | 変更あり |
| extendedDynamicState3LineRasterizationMode | 未テスト | 非対応 | 変更あり |
| extendedDynamicState3RasterizationSamples | 未テスト | 非対応 | 変更あり |
| extendedDynamicState3SampleMask | 未テスト | 非対応 | 変更あり |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 未テスト | 非対応 | 変更あり |
| logicOp | 未テスト | 非対応 | 変更あり |
| shaderClipDistance | 非対応 | 未テスト | 変更あり |
| shaderInt64 | 未テスト | 非対応 | 変更あり |
| wideLines | 未テスト | 非対応 | 変更あり |
| compat.helper_loop_terminator | 失敗 | 未テスト | 変更あり |
速度テストのシーン(ベンチマーク)
2つのドライバーは同じ機種の組み合わせで測定されていません。異なるデバイスのフレームタイムではドライバーを比較できないので、その点を踏まえて数値を見てください。
| シーン | panvk_faux123_v1.0.1 ms | malisx2-0.3.0-c8d18effb1 ms | 差 | 起動 | GPUクロック(MHz) | 純正との映像比較 |
|---|---|---|---|---|---|---|
| compute_nbody | 87.61 | 102.96 | 15% 遅い | 3中3 vs 3中3 | ? vs ? | 大きな差なし 小さな差が15箇所 |
| hdr_2160p | 146.15 | n/a | 片方のみ | 3中3 vs 3中0 | ? vs ? | 未チェック |
| oit_linked_lists | 71.29 | 74.38 | 4% 遅い | 3中3 vs 3中3 | ? vs ? | 大きな差なし 小さな差なし |
| pipeline_barriers | 69.36 | 86.88 | 20% 遅い | 3中3 vs 3中3 | ? vs ? | 大きな差なし 小さな差が1711箇所 |
| subpasses | 121.39 | n/a | 片方のみ | 3中3 vs 3中0 | ? vs ? | 未チェック |
技術的な違い(Vulkan)
malisx2-0.3.0-c8d18effb1だけにある拡張機能(3)
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_device_fault
- VK_EXT_rasterization_order_attachment_access
panvk_faux123_v1.0.1だけにある拡張機能(143)
- 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_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_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_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_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_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
差があるコア機能(53)
| multiview | 成功 → 非対応 |
| samplerYcbcrConversion | 成功 → 非対応 |
| shaderDrawParameters | 成功 → 非対応 |
| storageBuffer16BitAccess | 成功 → 非対応 |
| storageInputOutput16 | 成功 → 非対応 |
| storagePushConstant16 | 成功 → 非対応 |
| uniformAndStorageBuffer16BitAccess | 成功 → 非対応 |
| variablePointers | 成功 → 非対応 |
| variablePointersStorageBuffer | 成功 → 非対応 |
| bufferDeviceAddress | 成功 → 非対応 |
| descriptorBindingVariableDescriptorCount | 成功 → 非対応 |
| hostQueryReset | 成功 → 非対応 |
| imagelessFramebuffer | 成功 → 非対応 |
| runtimeDescriptorArray | 成功 → 非対応 |
| samplerMirrorClampToEdge | 成功 → 非対応 |
| scalarBlockLayout | 成功 → 非対応 |
| separateDepthStencilLayouts | 成功 → 非対応 |
| shaderInputAttachmentArrayDynamicIndexing | 成功 → 非対応 |
| shaderInputAttachmentArrayNonUniformIndexing | 成功 → 非対応 |
| shaderInt8 | 成功 → 非対応 |
| shaderSampledImageArrayNonUniformIndexing | 成功 → 非対応 |
| 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 | 成功 → 非対応 |
差がある制限(35)
| 上限 | panvk_faux123_v1.0.1 | 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 |
| sparseAddressSpaceSize | 17146314752 | 0 |
| maxPerStageDescriptorSampledImages | 256 | 208 |
| maxPerStageResources | 712 | 664 |
| maxFragmentDualSrcAttachments | 8 | 1 |
| maxSamplerLodBias | 127.996 | 126 |
| 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 |
片方のドライバーだけが対応するフォーマット(追加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