WN-Turnip-1.19-p_Axxx vs Qualcomm Technologies Inc. Adreno Vulkan Driver
Adreno (TM) 740 (AYN Odin2, AYN Odin2 Portal, AYN Thor, Moorechip Retroid Pocket Nova, motorola edge plus 2023, OnePlus 11 5G, POCO F6 Pro, Samsung Galaxy S23, Samsung Galaxy S23, Samsung Galaxy S23, Samsung Galaxy S23 Ultra, Samsung Galaxy S23 Ultra, Samsung Galaxy S23+, Sony Xperia 1 V, Xiaomi 13 pro). 最初に挙げたドライバーを、2番目のドライバー(ベースライン)と比べています。
- hdr_2160p23% 遅い
- pipeline_barriers_2160p26% 速い
- subpasses_2160p15% 速い
純正ドライバーと映像の一部が少し違います: 2件のシーン (pipeline_barriers: 2304セル中1671セル, pipeline_barriers_2160p: 2304セル中1596セル). 映像は全体として一致しているので、別のシーンではなく、一部の描画の不具合です。
毎回は起動しなかったもの: compute_nbody (純正 3/3, カスタム 0/3).
条件がそろっていません: これらのシーンのうち1件でGPUクロックが異なりました(例: pipeline_barriers_2160p: 純正はデバイス最大値の90%、カスタムは100%). フレームタイムの差の一部は、ドライバーではなく、デバイスが選んだクロックによるものです。
Qualcomm Technologies Inc. Adreno Vulkan Driverの詳細 WN-Turnip-1.19-p_Axxxの詳細
結果が異なる機能チェック(35)
| 機能 | 純正 | カスタム | 変化 |
|---|---|---|---|
| core.compute_udiv | 成功 | 失敗 | 欠落 |
| borderColorSwizzle | 非対応 | 成功 | 追加 |
| extendedDynamicState3ColorBlendEnable | 非対応 | 成功 | 追加 |
| extendedDynamicState3ColorBlendEquation | 非対応 | 成功 | 追加 |
| extendedDynamicState3ColorWriteMask | 非対応 | 成功 | 追加 |
| extendedDynamicState3DepthClampEnable | 非対応 | 成功 | 追加 |
| extendedDynamicState3LogicOpEnable | 非対応 | 成功 | 追加 |
| extendedDynamicState3PolygonMode | 非対応 | 成功 | 追加 |
| inlineUniformBlock | 非対応 | 成功 | 追加 |
| shaderBufferInt64Atomics | 非対応 | 成功 | 追加 |
| borderColorSwizzleFromImage | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3AlphaToCoverageEnable | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3AlphaToOneEnable | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3ConservativeRasterizationMode | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3DepthClipEnable | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3DepthClipNegativeOneToOne | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3LineRasterizationMode | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3ProvokingVertexMode | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3RasterizationSamples | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3RasterizationStream | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3SampleLocationsEnable | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3SampleMask | 非対応 | 未テスト | 変更あり |
| extendedDynamicState3TessellationDomainOrigin | 非対応 | 未テスト | 変更あり |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 非対応 | 未テスト | 変更あり |
| shaderInt64 | 非対応 | 未テスト | 変更あり |
| shaderResourceMinLod | 非対応 | 未テスト | 変更あり |
| shaderResourceResidency | 非対応 | 未テスト | 変更あり |
| shaderTessellationAndGeometryPointSize | 非対応 | 未テスト | 変更あり |
| sparseResidency16Samples | 未テスト | 非対応 | 変更あり |
| sparseResidency2Samples | 未テスト | 非対応 | 変更あり |
| sparseResidency4Samples | 未テスト | 非対応 | 変更あり |
| sparseResidency8Samples | 未テスト | 非対応 | 変更あり |
| sparseResidencyAliased | 非対応 | 未テスト | 変更あり |
| sparseResidencyImage2D | 未テスト | 非対応 | 変更あり |
速度テストのシーン(ベンチマーク)
2つのドライバーは同じ機種の組み合わせで測定されていません。異なるデバイスのフレームタイムではドライバーを比較できないので、その点を踏まえて数値を見てください。
| シーン | 純正 ms | カスタム ms | 差 | 起動 | GPUクロック(MHz) | 純正との映像比較 |
|---|---|---|---|---|---|---|
| compute_nbody | 7.84 | n/a | 片方のみ | 3中3 vs 3中0 | 561 vs ? | 未チェック |
| compute_nbody_2x | 25.49 | n/a | 片方のみ | 3中3 vs ? | 550 vs ? | 未チェック |
| hdr_2160p | 26.73 | 34.92 | 23% 遅い | 3中3 vs 3中3 | 550 vs 680 | 大きな差なし 小さな差なし |
| oit_linked_lists | n/a | 26.26 | 片方のみ | 3中3 vs 3中3 | 719 vs 680 | 大きな差なし 小さな差なし |
| pipeline_barriers | n/a | 2.26 | 軽すぎ、pipeline_barriers_2160pを参照 | 3中3 vs 3中3 | 680 vs 680 | 大きな差なし 小さな差が1671箇所 |
| pipeline_barriers_2160p | 9.55 | 7.61 | 26% 速い | 3中3 vs 3中3 | 495 vs 680 比較不可 | 大きな差なし 小さな差が1596箇所 |
| subpasses | 5.53 | 3.75 | 軽すぎ、subpasses_2160pを参照 | 3中3 vs 3中3 | 549 vs 680 比較不可 | 未チェック |
| subpasses_2160p | 15.58 | 13.53 | 15% 速い | 3中3 vs 3中3 | 550 vs 680 | 未チェック |
技術的な違い(Vulkan)
WN-Turnip-1.19-p_Axxxだけにある拡張機能(69)
- 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_border_color_swizzle
- VK_EXT_conditional_rendering
- VK_EXT_custom_resolve
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_control
- VK_EXT_depth_clamp_zero_one
- VK_EXT_descriptor_buffer
- VK_EXT_device_address_binding_report
- 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_2d_view_of_3d
- VK_EXT_image_compression_control
- VK_EXT_image_drm_format_modifier
- VK_EXT_inline_uniform_block
- VK_EXT_legacy_dithering
- VK_EXT_legacy_vertex_attributes
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_multi_draw
- VK_EXT_multisampled_render_to_single_sampled
- 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_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_subgroup_vote
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_shader_viewport_index_layer
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_compute_shader_derivatives
- 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_tracing_maintenance1
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_clock
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_quad_control
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_NV_compute_shader_derivatives
- VK_QCOM_multiview_per_view_render_areas
- VK_QCOM_multiview_per_view_viewports
- VK_VALVE_buffer_device_address_allocation_alignment
- 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_fragment_density_map2
- VK_EXT_swapchain_maintenance1
- VK_KHR_shared_presentable_image
- VK_KHR_swapchain_mutable_format
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_rotated_copy_commands
- VK_QCOM_tile_properties
差があるコア機能(23)
| multiviewGeometryShader | 非対応 → 成功 |
| protectedMemory | 成功 → 非対応 |
| shaderBufferInt64Atomics | 非対応 → 成功 |
| shaderInputAttachmentArrayDynamicIndexing | 成功 → 非対応 |
| shaderInputAttachmentArrayNonUniformIndexing | 成功 → 非対応 |
| shaderOutputLayer | 非対応 → 成功 |
| shaderOutputViewportIndex | 非対応 → 成功 |
| bresenhamLines | 非対応 → 成功 |
| dynamicRenderingLocalRead | 非対応 → 成功 |
| globalPriorityQuery | 非対応 → 成功 |
| hostImageCopy | 非対応 → 成功 |
| indexTypeUint8 | 非対応 → 成功 |
| maintenance5 | 非対応 → 成功 |
| maintenance6 | 非対応 → 成功 |
| pipelineRobustness | 非対応 → 成功 |
| pushDescriptor | 非対応 → 成功 |
| rectangularLines | 非対応 → 成功 |
| shaderExpectAssume | 非対応 → 成功 |
| shaderFloatControls2 | 非対応 → 成功 |
| shaderSubgroupRotate | 非対応 → 成功 |
| shaderSubgroupRotateClustered | 非対応 → 成功 |
| vertexAttributeInstanceRateDivisor | 非対応 → 成功 |
| vertexAttributeInstanceRateZeroDivisor | 非対応 → 成功 |
差がある制限(18)
| 上限 | 純正 | カスタム |
|---|---|---|
| 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 |
| 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