stable-turnip-V2 vs Qualcomm Technologies Inc. Adreno Vulkan Driver
Adreno (TM) 825 (Nothing Phone (3), Poco F7, Poco F7). 最初に挙げたドライバーを、2番目のドライバー(ベースライン)と比べています。
純正Qualcomm Technologies Inc. Adreno Vulkan Driver
vsカスタムstable-turnip-V2
グラフィックスのシステムバージョン(Vulkan)1.3.284 → 1.4.354
追加機能(拡張機能)165 → 174+33 -24
チェックに成功した機能(検証済み)44 → 49stable-turnip-V2でのみ成功 6 Qualcomm Technologies Inc. Adreno Vulkan Driverでのみ成功 1
速度テストのシーン(ベンチマーク)速い 2 遅い 1 同等 1全体で2% 速い(幾何平均)
各ドライバーが動かせそうなゲーム(機能リストからの目安): 緑は動く見込み、黄は動くかも、橙は厳しい、赤は動かない
純正DX92002+DX102006+DX112009+DX122015+Switch
カスタムDX92002+DX102006+DX112009+DX122015+Switch
- hdr_2160p2% 速い
- oit_linked_lists20% 速い
- pipeline_barriers_2160p0% 遅い
- subpasses_2160p11% 遅い
純正ドライバーと映像の一部が少し違います: 2件のシーン (pipeline_barriers: 2304セル中1255セル, pipeline_barriers_2160p: 2304セル中1008セル). 映像は全体として一致しているので、別のシーンではなく、一部の描画の不具合です。
毎回は起動しなかったもの: compute_nbody (純正 3/3, カスタム 0/3).
Qualcomm Technologies Inc. Adreno Vulkan Driverの詳細 stable-turnip-V2の詳細
結果が異なる機能チェック(24)
| 機能 | 純正 | カスタム | 変化 |
|---|---|---|---|
| core.compute_udiv | 成功 | 失敗 | 欠落 |
| extendedDynamicState3ColorBlendEnable | 非対応 | 成功 | 追加 |
| extendedDynamicState3ColorBlendEquation | 非対応 | 成功 | 追加 |
| extendedDynamicState3ColorWriteMask | 非対応 | 成功 | 追加 |
| extendedDynamicState3DepthClampEnable | 非対応 | 成功 | 追加 |
| extendedDynamicState3LogicOpEnable | 非対応 | 成功 | 追加 |
| extendedDynamicState3PolygonMode | 非対応 | 成功 | 追加 |
| extendedDynamicState3AlphaToCoverageEnable | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3AlphaToOneEnable | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3ConservativeRasterizationMode | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3DepthClipEnable | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3DepthClipNegativeOneToOne | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3LineRasterizationMode | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3ProvokingVertexMode | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3RasterizationSamples | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3RasterizationStream | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3SampleLocationsEnable | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3SampleMask | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3TessellationDomainOrigin | 非対応 | 未テスト | 変更あり |
| shaderResourceMinLod | 非対応 | 未テスト | 変更あり |
| shaderResourceResidency | 非対応 | 未テスト | 変更あり |
| sparseResidency16Samples | 未テスト | 非対応 | 変更あり |
| sparseResidencyAliased | 非対応 | 未テスト | 変更あり |
速度テストのシーン(ベンチマーク)
2つのドライバーは同じ機種の組み合わせで測定されていません。異なるデバイスのフレームタイムではドライバーを比較できないので、その点を踏まえて数値を見てください。
| シーン | 純正 ms | カスタム ms | 差 | 起動 | GPUクロック(MHz) | 純正との映像比較 |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | n/a | 片方のみ | 3中3 vs 3中0 | ? vs ? | 未チェック |
| hdr_2160p | 26.55 | 25.99 | 2% 速い | 3中3 vs 3中3 | ? vs ? | 大きな差なし 小さな差なし |
| oit_linked_lists | 26.88 | 22.38 | 20% 速い | 3中3 vs 3中3 | ? vs ? | 大きな差なし 小さな差なし |
| pipeline_barriers | 2.82 | 2.65 | 軽すぎ、pipeline_barriers_2160pを参照 | 3中3 vs 3中3 | ? vs ? | 大きな差なし 小さな差が1255箇所 |
| pipeline_barriers_2160p | 9.97 | 10.01 | 0% 遅い | 3中3 vs 3中3 | ? vs ? | 大きな差なし 小さな差が1008箇所 |
| subpasses | n/a | 4.96 | 軽すぎ、subpasses_2160pを参照 | 3中3 vs 3中3 | ? vs ? | 未チェック |
| subpasses_2160p | 17.23 | 19.32 | 11% 遅い | 3中3 vs 3中3 | ? vs ? | 未チェック |
技術的な違い(Vulkan)
stable-turnip-V2だけにある拡張機能(33)
- VK_AMD_buffer_marker
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_custom_resolve
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_control
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_dma_buf
- VK_EXT_fragment_density_map_offset
- VK_EXT_graphics_pipeline_library
- VK_EXT_host_image_copy
- VK_EXT_image_drm_format_modifier
- VK_EXT_legacy_dithering
- VK_EXT_legacy_vertex_attributes
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_nested_command_buffer
- VK_EXT_non_seamless_cube_map
- VK_EXT_primitive_restart_index
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_compute_shader_derivatives
- VK_KHR_maintenance7
- VK_KHR_pipeline_library
- VK_KHR_shader_relaxed_extended_instruction
- VK_NV_compute_shader_derivatives
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
Qualcomm Technologies Inc. Adreno Vulkan Driverだけにある拡張機能(24)
- VK_ANDROID_external_format_resolve
- VK_EXT_astc_decode_mode
- VK_EXT_blend_operation_advanced
- VK_EXT_depth_range_unrestricted
- VK_EXT_device_fault
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_fragment_density_map2
- VK_EXT_image_compression_control
- VK_EXT_image_compression_control_swapchain
- VK_EXT_pipeline_protected_access
- VK_EXT_shader_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_KHR_ray_tracing_position_fetch
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shared_presentable_image
- VK_NV_optical_flow
- VK_QCOM_filter_cubic_weights
- VK_QCOM_image_processing2
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_rotated_copy_commands
- VK_QCOM_tile_properties
- VK_QCOM_ycbcr_degamma
差があるコア機能(20)
| multiviewGeometryShader | 非対応 → 成功 |
| protectedMemory | 成功 → 非対応 |
| shaderInputAttachmentArrayDynamicIndexing | 成功 → 非対応 |
| shaderInputAttachmentArrayNonUniformIndexing | 成功 → 非対応 |
| bresenhamLines | 非対応 → 成功 |
| dynamicRenderingLocalRead | 非対応 → 成功 |
| globalPriorityQuery | 非対応 → 成功 |
| hostImageCopy | 非対応 → 成功 |
| indexTypeUint8 | 非対応 → 成功 |
| maintenance5 | 非対応 → 成功 |
| maintenance6 | 非対応 → 成功 |
| pipelineRobustness | 非対応 → 成功 |
| pushDescriptor | 非対応 → 成功 |
| rectangularLines | 非対応 → 成功 |
| shaderExpectAssume | 非対応 → 成功 |
| shaderFloatControls2 | 非対応 → 成功 |
| shaderSubgroupRotate | 非対応 → 成功 |
| shaderSubgroupRotateClustered | 非対応 → 成功 |
| vertexAttributeInstanceRateDivisor | 非対応 → 成功 |
| vertexAttributeInstanceRateZeroDivisor | 非対応 → 成功 |
差がある制限(21)
| 上限 | 純正 | カスタム |
|---|---|---|
| maxTexelBufferElements | 134217728 | 536870911 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 562949953421311 | 274877906944 |
| maxPerStageResources | 50331648 | 16777216 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffersDynamic | 16 | 8 |
| maxVertexInputAttributeOffset | 4096 | 4095 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryOutputVertices | 1024 | 256 |
| maxGeometryTotalOutputComponents | 131072 | 1024 |
| maxFragmentInputComponents | 112 | 128 |
| maxComputeSharedMemorySize | 32768 | 65536 |
| minMemoryMapAlignment | 64 | 4096 |
| minUniformBufferOffsetAlignment | 256 | 64 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 3 | 2 |
| pointSizeRange | 1, 4095 | 1, 4092 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
片方のドライバーだけが対応するフォーマット(追加5、欠落1)
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16