radv-xclipse-26.3.0-devel-313870e 对比 Samsung Proprietary driver
在 Samsung Xclipse 920 上 (Samsung Galaxy S22, Samsung Galaxy S23 FE, Samsung Galaxy S24 FE). 先列出的驱动与后一个对比,后一个是基准。
原厂Samsung Proprietary driver
对比第三方radv-xclipse-26.3.0-devel-313870e
图形系统版本(Vulkan)1.3.279 → 1.4.358
可选功能(扩展)146 → 228+87 -5
通过检测的功能(已验证)49 → 513 个仅在 radv-xclipse-26.3.0-devel-313870e 上通过 1 个仅在 Samsung Proprietary driver 上通过
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch
Samsung Proprietary driver 详情 radv-xclipse-26.3.0-devel-313870e 详情
结果不同的功能检测(13)
| 功能 | 原厂 | 第三方 | 变化 |
|---|---|---|---|
| transformFeedback | 通过 | 失败 | 减少 |
| floatRepresentation | 不支持 | 通过 | 新增 |
| extendedDynamicState2LogicOp | 不支持 | 通过 | 新增 |
| textureCompressionBC | 不支持 | 通过 | 新增 |
| depthBiasControl | 不支持 | 未检测 | 有变化 |
| depthBiasExact | 不支持 | 未检测 | 有变化 |
| leastRepresentableValueForceUnormRepresentation | 不支持 | 未检测 | 有变化 |
| extendedDynamicState2PatchControlPoints | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3AlphaToOneEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | 未检测 | 不支持 | 有变化 |
| shaderFloat64 | 不支持 | 未检测 | 有变化 |
| shaderResourceMinLod | 不支持 | 未检测 | 有变化 |
| shaderResourceResidency | 不支持 | 未检测 | 有变化 |
跑分测试场景(基准测试)
两个驱动都还没有有效的跑分测试(基准测试报告)。
技术差异(Vulkan)
仅 radv-xclipse-26.3.0-devel-313870e 有的扩展(87)
- VK_AMD_device_coherent_memory
- VK_AMD_texture_gather_bias_lod
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_custom_resolve
- VK_EXT_depth_bias_control
- VK_EXT_depth_clamp_control
- VK_EXT_descriptor_heap
- VK_EXT_device_generated_commands
- VK_EXT_discard_rectangles
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_fragment_shader_interlock
- VK_EXT_host_image_copy
- VK_EXT_image_compression_control
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_image_view_min_lod
- VK_EXT_legacy_vertex_attributes
- VK_EXT_map_memory_placed
- VK_EXT_memory_priority
- VK_EXT_mesh_shader
- VK_EXT_multi_draw
- VK_EXT_multisampled_render_to_single_sampled
- VK_EXT_mutable_descriptor_type
- VK_EXT_nested_command_buffer
- VK_EXT_pci_bus_info
- VK_EXT_pipeline_library_group_handles
- VK_EXT_pipeline_robustness
- VK_EXT_primitive_restart_index
- VK_EXT_primitives_generated_query
- VK_EXT_sampler_filter_minmax
- VK_EXT_shader_atomic_float
- VK_EXT_shader_atomic_float2
- VK_EXT_shader_object
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_ycbcr_2plane_444_formats
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_user_type
- VK_INTEL_shader_integer_functions2
- VK_KHR_calibrated_timestamps
- VK_KHR_compute_shader_derivatives
- VK_KHR_copy_memory_indirect
- VK_KHR_depth_clamp_zero_one
- VK_KHR_device_address_commands
- VK_KHR_device_fault
- VK_KHR_dynamic_rendering
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_extended_flags
- VK_KHR_format_feature_flags2
- VK_KHR_fragment_shader_barycentric
- VK_KHR_global_priority
- VK_KHR_index_type_uint8
- VK_KHR_internally_synchronized_queues
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance10
- VK_KHR_maintenance11
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_map_memory2
- VK_KHR_performance_query
- VK_KHR_pipeline_binary
- VK_KHR_ray_tracing_maintenance1
- VK_KHR_ray_tracing_position_fetch
- VK_KHR_robustness2
- VK_KHR_shader_abort
- VK_KHR_shader_constant_data
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_fma
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_untyped_pointers
- VK_KHR_vertex_attribute_divisor
- VK_MESA_image_alignment_control
- VK_NV_compute_shader_derivatives
- VK_NV_geometry_shader_passthrough
- VK_NV_viewport_array2
- VK_NV_viewport_swizzle
- VK_VALVE_mutable_descriptor_type
- VK_VALVE_shader_mixed_float_dot_product
仅 Samsung Proprietary driver 有的扩展(5)
- VK_AMD_shader_fragment_mask
- VK_AMD_shader_info
- VK_EXT_frame_boundary
- VK_KHR_shared_presentable_image
- VK_SEC_amigo_profiling
不同的核心功能(22)
| protectedMemory | 通过 → 不支持 |
| storagePushConstant16 | 不支持 → 通过 |
| samplerFilterMinmax | 不支持 → 通过 |
| storagePushConstant8 | 不支持 → 通过 |
| bresenhamLines | 不支持 → 通过 |
| dynamicRenderingLocalRead | 不支持 → 通过 |
| globalPriorityQuery | 不支持 → 通过 |
| hostImageCopy | 不支持 → 通过 |
| indexTypeUint8 | 不支持 → 通过 |
| maintenance5 | 不支持 → 通过 |
| maintenance6 | 不支持 → 通过 |
| pipelineRobustness | 不支持 → 通过 |
| pushDescriptor | 不支持 → 通过 |
| rectangularLines | 不支持 → 通过 |
| shaderExpectAssume | 不支持 → 通过 |
| shaderFloatControls2 | 不支持 → 通过 |
| shaderSubgroupRotate | 不支持 → 通过 |
| shaderSubgroupRotateClustered | 不支持 → 通过 |
| smoothLines | 不支持 → 通过 |
| stippledBresenhamLines | 不支持 → 通过 |
| vertexAttributeInstanceRateDivisor | 不支持 → 通过 |
| vertexAttributeInstanceRateZeroDivisor | 不支持 → 通过 |
不同的限制(46)
| 限制 | 原厂 | 第三方 |
|---|---|---|
| maxTexelBufferElements | 4294967295 | 536870912 |
| maxPushConstantsSize | 128 | 256 |
| maxSamplerAllocationCount | 1048576 | 65536 |
| sparseAddressSpaceSize | 140707423584256 | 140737488355328 |
| maxPerStageDescriptorSamplers | 4294967295 | 8388606 |
| maxPerStageDescriptorUniformBuffers | 4294967295 | 8388606 |
| maxPerStageDescriptorStorageBuffers | 4294967295 | 8388606 |
| maxPerStageDescriptorSampledImages | 4294967295 | 8388606 |
| maxPerStageDescriptorStorageImages | 4294967295 | 8388606 |
| maxPerStageDescriptorInputAttachments | 4294967295 | 8388606 |
| maxPerStageResources | 4294967295 | 8388606 |
| maxDescriptorSetSamplers | 4294967295 | 8388606 |
| maxDescriptorSetUniformBuffers | 4294967295 | 8388606 |
| maxDescriptorSetUniformBuffersDynamic | 24 | 16 |
| maxDescriptorSetStorageBuffers | 4294967295 | 8388606 |
| maxDescriptorSetSampledImages | 4294967295 | 8388606 |
| maxDescriptorSetStorageImages | 4294967295 | 8388606 |
| maxDescriptorSetInputAttachments | 4294967295 | 8388606 |
| maxVertexInputAttributes | 64 | 32 |
| maxVertexInputBindingStride | 16383 | 2048 |
| maxGeometryShaderInvocations | 126 | 32 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryOutputVertices | 1023 | 256 |
| maxGeometryTotalOutputComponents | 4095 | 1024 |
| maxFragmentCombinedOutputResources | 4294967295 | 8388606 |
| maxComputeSharedMemorySize | 32768 | 65536 |
| maxComputeWorkGroupCount | 65535, 65535, 65535 | 4294967295, 65535, 65535 |
| maxSamplerLodBias | 15.9961 | 16 |
| minMemoryMapAlignment | 64 | 4096 |
| minUniformBufferOffsetAlignment | 16 | 4 |
| minTexelOffset | -64 | -32 |
| maxTexelOffset | 63 | 31 |
| maxInterpolationOffset | 1 | 2 |
| maxFramebufferLayers | 8192 | 1024 |
| framebufferColorSampleCounts | 7 | 15 |
| framebufferDepthSampleCounts | 7 | 15 |
| framebufferStencilSampleCounts | 7 | 15 |
| framebufferNoAttachmentsSampleCounts | 7 | 15 |
| sampledImageColorSampleCounts | 7 | 15 |
| sampledImageIntegerSampleCounts | 7 | 15 |
| sampledImageDepthSampleCounts | 7 | 15 |
| sampledImageStencilSampleCounts | 7 | 15 |
| storageImageSampleCounts | 7 | 15 |
| discreteQueuePriorities | 3 | 2 |
| lineWidthRange | 0, 8191.88 | 0, 8 |
| nonCoherentAtomSize | 128 | 64 |
只有一个驱动支持的格式(多了 33 种,少了 5 种)
- A1B5G5R5_UNORM_PACK16
- A8_UNORM
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_SSCALED
- B8G8R8_UINT
- B8G8R8_UNORM
- B8G8R8_USCALED
- BC4_SNORM_BLOCK
- BC4_UNORM_BLOCK
- BC5_SNORM_BLOCK
- BC5_UNORM_BLOCK
- BC6H_SFLOAT_BLOCK
- BC6H_UFLOAT_BLOCK
- BC7_SRGB_BLOCK
- BC7_UNORM_BLOCK
- G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16
- G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16
- G16_B16R16_2PLANE_422_UNORM
- G16_B16R16_2PLANE_444_UNORM
- G16_B16_R16_3PLANE_420_UNORM
- G16_B16_R16_3PLANE_422_UNORM
- G16_B16_R16_3PLANE_444_UNORM
- G8_B8R8_2PLANE_444_UNORM
- G8_B8_R8_3PLANE_422_UNORM
- G8_B8_R8_3PLANE_444_UNORM
- R10X6G10X6_UNORM_2PACK16
- R10X6_UNORM_PACK16
- R12X4G12X4_UNORM_2PACK16
- R12X4_UNORM_PACK16
- R16G16B16_SFLOAT
- R16G16B16_SINT
- R16G16B16_UINT
- B8G8R8G8_422_UNORM
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
- G8B8G8R8_422_UNORM
- R4G4_UNORM_PACK8