panvk_faux123_v1.1.2 vs panvk_faux123_ace_v0.39.0
Mali-G1-Ultra MC12 (Infinix HOT 50 Pro, Infinix NOTE 30, Infinix NOTE 40 Pro, itel RS4, Oppo A6 5G, Oppo A6t 5G, Oppo Find X9s Pro, realme RMX5111, REDMI 15C 5G, Redmi Note 10 5G, Redmi Note 13 5G, Redmi Note 13 Pro, Redmi Pad 2, Samsung Galaxy A07, Samsung Galaxy A07, Samsung Galaxy A15 5G, Samsung Galaxy A16, TCL 50 XE 5G). 最初に挙げたドライバーを、2番目のドライバー(ベースライン)と比べています。
純正panvk_faux123_ace_v0.39.0
vsカスタムpanvk_faux123_v1.1.2
グラフィックスのシステムバージョン(Vulkan)1.1.363 → 1.3.363
追加機能(拡張機能)170 → 178+8 -0
チェックに成功した機能(検証済み)38 → 68panvk_faux123_v1.1.2でのみ成功 30 panvk_faux123_ace_v0.39.0でのみ成功 0
速度テストのシーン(ベンチマーク)共通のシーンなし
各ドライバーが動かせそうなゲーム(機能リストからの目安): 緑は動く見込み、黄は動くかも、橙は厳しい、赤は動かない
純正DX92002+DX102006+DX112009+DX122015+Switch
カスタムDX92002+DX102006+DX112009+DX122015+Switch
panvk_faux123_ace_v0.39.0の詳細 panvk_faux123_v1.1.2の詳細
結果が異なる機能チェック(41)
| 機能 | panvk_faux123_ace_v0.39.0 | panvk_faux123_v1.1.2 | 変化 |
|---|---|---|---|
| robustBufferAccess2 | 非対応 | 成功 | 追加 |
| robustImageAccess2 | 非対応 | 成功 | 追加 |
| transformFeedback | 非対応 | 成功 | 追加 |
| depthClamp | 未テスト | 成功 | 追加 |
| drawIndirectFirstInstance | 失敗 | 成功 | 追加 |
| geometryShader | 非対応 | 成功 | 追加 |
| largePoints | 未テスト | 成功 | 追加 |
| multiDrawIndirect | 非対応 | 成功 | 追加 |
| multiViewport | 非対応 | 成功 | 追加 |
| tessellationShader | 非対応 | 成功 | 追加 |
| textureCompressionBC | 非対応 | 成功 | 追加 |
| compat.helper_loop_terminator | 未テスト | 成功 | 追加 |
| compat.nested_map | 未テスト | 成功 | 追加 |
| core.blend_advertised_formats | 未テスト | 成功 | 追加 |
| core.compute_big_stack | 未テスト | 成功 | 追加 |
| core.host_coherent_readback | 未テスト | 成功 | 追加 |
| core.mrt_partial_kill | 未テスト | 成功 | 追加 |
| core.resubmit_command_buffer | 失敗 | 成功 | 追加 |
| core.ubo_update_buffer | 未テスト | 成功 | 追加 |
| core.ubo_written_after_record | 未テスト | 成功 | 追加 |
| core.varying_subset | 未テスト | 成功 | 追加 |
| mem.image_padding | 未テスト | 成功 | 追加 |
| perf.fb_local_barrier_large_draws | 未テスト | 成功 | 追加 |
| perf.fb_local_barrier_overdraw | 未テスト | 成功 | 追加 |
| stage.geometry_max_output | 未テスト | 成功 | 追加 |
| stage.geometry_point_size | 未テスト | 成功 | 追加 |
| stress.multi_draw_indirect_large | 非対応 | 成功 | 追加 |
| stress.scratch_per_batch | 未テスト | 成功 | 追加 |
| stress.submit_memory | 失敗 | 成功 | 追加 |
| sync.first_submit_clear_then_compute | 未テスト | 成功 | 追加 |
| extendedDynamicState2PatchControlPoints | 非対応 | 未テスト | 変更あり |
| nullDescriptor | 非対応 | 未テスト | 変更あり |
| geometryStreams | 非対応 | 未テスト | 変更あり |
| depthBounds | 非対応 | 未テスト | 変更あり |
| fillModeNonSolid | 非対応 | 未テスト | 変更あり |
| pipelineStatisticsQuery | 非対応 | 未テスト | 変更あり |
| shaderClipDistance | 非対応 | 未テスト | 変更あり |
| shaderCullDistance | 非対応 | 未テスト | 変更あり |
| shaderTessellationAndGeometryPointSize | 非対応 | 未テスト | 変更あり |
| variableMultisampleRate | 非対応 | 未テスト | 変更あり |
| vertexPipelineStoresAndAtomics | 非対応 | 未テスト | 変更あり |
速度テストのシーン(ベンチマーク)
2つのドライバーは同じ機種の組み合わせで測定されていません。異なるデバイスのフレームタイムではドライバーを比較できないので、その点を踏まえて数値を見てください。
| シーン | panvk_faux123_ace_v0.39.0 ms | panvk_faux123_v1.1.2 ms | 差 | 起動 | GPUクロック(MHz) | 純正との映像比較 |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 47.41 | 片方のみ | 3中0 vs 3中3 | ? vs ? | 未チェック |
| hdr_2160p | n/a | 115.87 | 片方のみ | 3中0 vs 3中3 | ? vs ? | 未チェック |
| oit_linked_lists | n/a | 31.03 | 片方のみ | 3中0 vs 3中3 | ? vs ? | 未チェック |
| pipeline_barriers | n/a | 25.90 | 片方のみ | 3中0 vs 3中3 | ? vs ? | 未チェック |
| subpasses | n/a | 69.94 | 片方のみ | 3中0 vs 3中3 | ? vs ? | 未チェック |
技術的な違い(Vulkan)
panvk_faux123_v1.1.2だけにある拡張機能(8)
- VK_EXT_conditional_rendering
- VK_EXT_primitives_generated_query
- VK_EXT_robustness2
- VK_EXT_transform_feedback
- VK_KHR_depth_clamp_zero_one
- VK_KHR_draw_indirect_count
- VK_KHR_pipeline_binary
- VK_KHR_robustness2
panvk_faux123_ace_v0.39.0だけにある拡張機能(0)
- なし
差があるコア機能(67)
| multiview | 非対応 → 成功 |
| samplerYcbcrConversion | 非対応 → 成功 |
| shaderDrawParameters | 非対応 → 成功 |
| storageBuffer16BitAccess | 非対応 → 成功 |
| storageInputOutput16 | 非対応 → 成功 |
| storagePushConstant16 | 非対応 → 成功 |
| uniformAndStorageBuffer16BitAccess | 非対応 → 成功 |
| variablePointers | 非対応 → 成功 |
| variablePointersStorageBuffer | 非対応 → 成功 |
| bufferDeviceAddress | 非対応 → 成功 |
| descriptorBindingPartiallyBound | 非対応 → 成功 |
| descriptorBindingSampledImageUpdateAfterBind | 非対応 → 成功 |
| descriptorBindingStorageBufferUpdateAfterBind | 非対応 → 成功 |
| descriptorBindingStorageImageUpdateAfterBind | 非対応 → 成功 |
| descriptorBindingStorageTexelBufferUpdateAfterBind | 非対応 → 成功 |
| descriptorBindingUniformBufferUpdateAfterBind | 非対応 → 成功 |
| descriptorBindingUniformTexelBufferUpdateAfterBind | 非対応 → 成功 |
| descriptorBindingUpdateUnusedWhilePending | 非対応 → 成功 |
| descriptorBindingVariableDescriptorCount | 非対応 → 成功 |
| descriptorIndexing | 非対応 → 成功 |
| drawIndirectCount | 非対応 → 成功 |
| hostQueryReset | 非対応 → 成功 |
| imagelessFramebuffer | 非対応 → 成功 |
| runtimeDescriptorArray | 非対応 → 成功 |
| samplerMirrorClampToEdge | 非対応 → 成功 |
| scalarBlockLayout | 非対応 → 成功 |
| separateDepthStencilLayouts | 非対応 → 成功 |
| shaderBufferInt64Atomics | 非対応 → 成功 |
| shaderFloat16 | 非対応 → 成功 |
| 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 | 非対応 → 成功 |
差がある制限(20)
| 上限 | panvk_faux123_ace_v0.39.0 | panvk_faux123_v1.1.2 |
|---|---|---|
| maxTessellationGenerationLevel | 0 | 64 |
| maxTessellationPatchSize | 0 | 32 |
| maxTessellationControlPerVertexInputComponents | 0 | 128 |
| maxTessellationControlPerVertexOutputComponents | 0 | 128 |
| maxTessellationControlPerPatchOutputComponents | 0 | 120 |
| maxTessellationControlTotalOutputComponents | 0 | 4096 |
| maxTessellationEvaluationInputComponents | 0 | 128 |
| maxTessellationEvaluationOutputComponents | 0 | 128 |
| maxGeometryShaderInvocations | 0 | 64 |
| maxGeometryInputComponents | 0 | 128 |
| maxGeometryOutputComponents | 0 | 128 |
| maxGeometryOutputVertices | 0 | 1024 |
| maxGeometryTotalOutputComponents | 0 | 1024 |
| maxDrawIndirectCount | 1 | 65535 |
| maxViewports | 1 | 16 |
| timestampComputeAndGraphics | 0 | 1 |
| timestampPeriod | 0 | 76.9231 |
| maxClipDistances | 0 | 8 |
| maxCullDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
片方のドライバーだけが対応するフォーマット(追加10、欠落0)
- 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_444_UNORM
- G8_B8R8_2PLANE_444_UNORM
- なし