Mali-G68 vs Mali-G68 MC4
Mali-G68 (Infinix ZERO 5G 2023, LENOVO TB370FU, realme 10 Pro+ 5G, realme P1 5G, Samsung Galaxy A17 5G, Samsung Galaxy A25 5G, Samsung Galaxy A54 5G). 最初に挙げたドライバーを、2番目のドライバー(ベースライン)と比べています。
純正Mali-G68 MC4
vsカスタムMali-G68
グラフィックスのシステムバージョン(Vulkan)1.1.177 → 1.3.219
追加機能(拡張機能)68 → 97+29 -0
チェックに成功した機能(検証済み)28 → 29Mali-G68でのみ成功 1 Mali-G68 MC4でのみ成功 0
速度テストのシーン(ベンチマーク)共通のシーンなし
各ドライバーが動かせそうなゲーム(機能リストからの目安): 緑は動く見込み、黄は動くかも、橙は厳しい、赤は動かない
純正DX92002+DX102006+DX112009+DX122015+Switch
カスタムDX92002+DX102006+DX112009+DX122015+Switch
結果が異なる機能チェック(3)
| 機能 | 純正 | Mali-G68 | 変化 |
|---|---|---|---|
| extendedDynamicState2 | 非対応 | 成功 | 追加 |
| extendedDynamicState | 非対応 | 失敗 | 変更あり |
| extendedDynamicState2PatchControlPoints | 非対応 | 未テスト | 変更あり |
速度テストのシーン(ベンチマーク)
どちらのドライバーにも、有効な速度テスト(ベンチマークレポート)がまだありません。
技術的な違い(Vulkan)
Mali-G68だけにある拡張機能(29)
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_extended_dynamic_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_global_priority_query
- VK_EXT_hdr_metadata
- VK_EXT_image_compression_control
- 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_primitive_topology_list_restart
- VK_EXT_primitives_generated_query
- VK_EXT_private_data
- VK_EXT_rgba10x6_formats
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_subpass_merge_feedback
- VK_EXT_swapchain_maintenance1
- VK_EXT_texel_buffer_alignment
- VK_EXT_tooling_info
- VK_KHR_copy_commands2
- VK_KHR_dynamic_rendering
- VK_KHR_format_feature_flags2
- VK_KHR_global_priority
- VK_KHR_maintenance4
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_terminate_invocation
- VK_KHR_swapchain_mutable_format
- VK_KHR_synchronization2
- VK_KHR_zero_initialize_workgroup_memory
Mali-G68 MC4だけにある拡張機能(0)
- なし
差があるコア機能(65)
| multiview | 非対応 → 成功 |
| protectedMemory | 非対応 → 成功 |
| 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 | 非対応 → 成功 |
| shaderFloat16 | 非対応 → 成功 |
| shaderInputAttachmentArrayDynamicIndexing | 非対応 → 成功 |
| shaderInputAttachmentArrayNonUniformIndexing | 非対応 → 成功 |
| shaderInt8 | 非対応 → 成功 |
| shaderOutputViewportIndex | 非対応 → 成功 |
| 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 | 非対応 → 成功 |
差がある制限(7)
| 上限 | 純正 | Mali-G68 |
|---|---|---|
| maxMemoryAllocationCount | 4294967295 | 16384 |
| bufferImageGranularity | 4096 | 1 |
| maxBoundDescriptorSets | 4 | 7 |
| maxGeometryInputComponents | 64 | 128 |
| maxGeometryTotalOutputComponents | 1024 | 2048 |
| maxSamplerLodBias | 255 | 126 |
| timestampPeriod | 76.9231 | 38.4615 |
片方のドライバーだけが対応するフォーマット(追加6、欠落0)
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SSCALED
- B8G8R8_USCALED
- なし