Turnip_v26.3.0-R2 vs Qualcomm Technologies Inc. Adreno Vulkan Driver
Adreno (TM) 22 (HONOR 200 Pro, Moorechip Retroid Pocket G2, POCO F6, realme GT 6, realme 真我GT Neo6, Xiaomi Pad 7 Pro). 最初に挙げたドライバーを、2番目のドライバー(ベースライン)と比べています。
純正Qualcomm Technologies Inc. Adreno Vulkan Driver
vsカスタムTurnip_v26.3.0-R2
グラフィックスのシステムバージョン(Vulkan)1.3.128 → 1.4.354
追加機能(拡張機能)126 → 172+56 -10
チェックに成功した機能(検証済み)44 → 49Turnip_v26.3.0-R2でのみ成功 6 Qualcomm Technologies Inc. Adreno Vulkan Driverでのみ成功 1
速度テストのシーン(ベンチマーク)共通のシーンなし
各ドライバーが動かせそうなゲーム(機能リストからの目安): 緑は動く見込み、黄は動くかも、橙は厳しい、赤は動かない
純正DX92002+DX102006+DX112009+DX122015+Switch
カスタムDX92002+DX102006+DX112009+DX122015+Switch
Qualcomm Technologies Inc. Adreno Vulkan Driverの詳細 Turnip_v26.3.0-R2の詳細
結果が異なる機能チェック(28)
| 機能 | 純正 | カスタム | 変化 |
|---|---|---|---|
| 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 | 未テスト | 非対応 | 変更あり |
| sparseResidency2Samples | 未テスト | 非対応 | 変更あり |
| sparseResidency4Samples | 未テスト | 非対応 | 変更あり |
| sparseResidency8Samples | 未テスト | 非対応 | 変更あり |
| sparseResidencyAliased | 非対応 | 未テスト | 変更あり |
| sparseResidencyImage2D | 未テスト | 非対応 | 変更あり |
速度テストのシーン(ベンチマーク)
2つのドライバーは同じ機種の組み合わせで測定されていません。異なるデバイスのフレームタイムではドライバーを比較できないので、その点を踏まえて数値を見てください。
| シーン | 純正 ms | カスタム ms | 差 | 起動 | GPUクロック(MHz) | 純正との映像比較 |
|---|---|---|---|---|---|---|
| hdr_2160p | n/a | 44.86 | 片方のみ | ? vs 3中3 | ? vs ? | 未チェック |
| oit_linked_lists | n/a | 23.67 | 片方のみ | ? vs 3中3 | ? vs ? | 未チェック |
| pipeline_barriers | n/a | n/a | 片方のみ | ? vs 3中3 | ? vs ? | 未チェック |
| pipeline_barriers_2160p | n/a | 11.50 | 片方のみ | ? vs 3中3 | ? vs ? | 未チェック |
| subpasses | n/a | n/a | 片方のみ | ? vs 3中3 | ? vs ? | 未チェック |
| subpasses_2160p | n/a | 20.08 | 片方のみ | ? vs 3中3 | ? vs ? | 未チェック |
技術的な違い(Vulkan)
Turnip_v26.3.0-R2だけにある拡張機能(56)
- 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_conditional_rendering
- VK_EXT_custom_resolve
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_control
- VK_EXT_descriptor_buffer
- 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_multi_draw
- VK_EXT_mutable_descriptor_type
- VK_EXT_nested_command_buffer
- VK_EXT_non_seamless_cube_map
- VK_EXT_primitive_restart_index
- VK_EXT_primitives_generated_query
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_shader_image_atomic_int64
- 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_acceleration_structure
- VK_KHR_compute_shader_derivatives
- VK_KHR_deferred_host_operations
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_index_type_uint8
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_map_memory2
- VK_KHR_pipeline_library
- VK_KHR_ray_query
- VK_KHR_ray_tracing_maintenance1
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_swapchain_mutable_format
- VK_KHR_vertex_attribute_divisor
- VK_NV_compute_shader_derivatives
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
Qualcomm Technologies Inc. Adreno Vulkan Driverだけにある拡張機能(10)
- VK_EXT_astc_decode_mode
- VK_EXT_blend_operation_advanced
- VK_EXT_device_fault
- VK_EXT_fragment_density_map2
- VK_KHR_shared_presentable_image
- VK_NV_optical_flow
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_rotated_copy_commands
- VK_QCOM_tile_properties
差があるコア機能(20)
| multiviewGeometryShader | 非対応 → 成功 |
| protectedMemory | 成功 → 非対応 |
| shaderInputAttachmentArrayDynamicIndexing | 成功 → 非対応 |
| shaderInputAttachmentArrayNonUniformIndexing | 成功 → 非対応 |
| bresenhamLines | 非対応 → 成功 |
| dynamicRenderingLocalRead | 非対応 → 成功 |
| globalPriorityQuery | 非対応 → 成功 |
| hostImageCopy | 非対応 → 成功 |
| indexTypeUint8 | 非対応 → 成功 |
| maintenance5 | 非対応 → 成功 |
| maintenance6 | 非対応 → 成功 |
| pipelineRobustness | 非対応 → 成功 |
| pushDescriptor | 非対応 → 成功 |
| rectangularLines | 非対応 → 成功 |
| shaderExpectAssume | 非対応 → 成功 |
| shaderFloatControls2 | 非対応 → 成功 |
| shaderSubgroupRotate | 非対応 → 成功 |
| shaderSubgroupRotateClustered | 非対応 → 成功 |
| vertexAttributeInstanceRateDivisor | 非対応 → 成功 |
| vertexAttributeInstanceRateZeroDivisor | 非対応 → 成功 |
差がある制限(19)
| 上限 | 純正 | カスタム |
|---|---|---|
| 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 |
| maxComputeWorkGroupInvocations | 1024 | 2048 |
| minMemoryMapAlignment | 64 | 4096 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 3 | 2 |
| pointSizeRange | 1, 4095 | 1, 4092 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
片方のドライバーだけが対応するフォーマット(追加31、欠落1)
- A1B5G5R5_UNORM_PACK16
- A2B10G10R10_SSCALED_PACK32
- A2B10G10R10_USCALED_PACK32
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A8B8G8R8_SSCALED_PACK32
- A8B8G8R8_USCALED_PACK32
- A8_UNORM
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT
- R16G16B16A16_SSCALED
- R16G16B16A16_USCALED
- R16G16B16_SSCALED
- R16G16B16_USCALED
- R16G16_SSCALED
- R16G16_USCALED
- R16_SSCALED
- R16_USCALED
- R64_SINT
- R64_UINT
- R8G8B8A8_SSCALED
- R8G8B8A8_USCALED
- R8G8B8_SSCALED
- R8G8B8_USCALED
- R8G8_SSCALED
- R8G8_USCALED
- R8_SSCALED
- R8_USCALED
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16