FauxVkDB
简体中文

radv-xclipse-26.3.0-devel-05b3092 对比 Samsung Proprietary driver

在 Samsung Xclipse 920 上 (Samsung Galaxy S22, Samsung Galaxy S23 FE, Samsung Galaxy S24 FE). 先列出的驱动与后一个对比,后一个是基准。

原厂Samsung Proprietary driverDriver version: 24.0.534, git hash: 1900168dcb
对比
第三方radv-xclipse-26.3.0-devel-05b3092Mesa 26.3.0-devel (git-05b3092fcc)
图形系统版本(Vulkan)1.3.279 → 1.4.358
可选功能(扩展)146 → 228+87 -5
通过检测的功能(已验证)49 → 503 个仅在 radv-xclipse-26.3.0-devel-05b3092 上通过 2 个仅在 Samsung Proprietary driver 上通过
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch

Samsung Proprietary driver 详情 radv-xclipse-26.3.0-devel-05b3092 详情

结果不同的功能检测(14)

功能原厂第三方变化
transformFeedback
VK_EXT_transform_feedback
通过失败减少
tessellationShader
VkPhysicalDeviceFeatures
通过失败减少
floatRepresentation
VK_EXT_depth_bias_control
不支持通过新增
extendedDynamicState2LogicOp
VK_EXT_extended_dynamic_state2
不支持通过新增
textureCompressionBC
VkPhysicalDeviceFeatures
不支持通过新增
depthBiasControl
VK_EXT_depth_bias_control
不支持未检测有变化
depthBiasExact
VK_EXT_depth_bias_control
不支持未检测有变化
leastRepresentableValueForceUnormRepresentation
VK_EXT_depth_bias_control
不支持未检测有变化
extendedDynamicState2PatchControlPoints
VK_EXT_extended_dynamic_state2
不支持未检测有变化
extendedDynamicState3AlphaToOneEnable
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3ExtraPrimitiveOverestimationSize
VK_EXT_extended_dynamic_state3
未检测不支持有变化
shaderFloat64
VkPhysicalDeviceFeatures
不支持未检测有变化
shaderResourceMinLod
VkPhysicalDeviceFeatures
不支持未检测有变化
shaderResourceResidency
VkPhysicalDeviceFeatures
不支持未检测有变化

跑分测试场景(基准测试)

两个驱动不是在同一批设备型号上测的。不同设备的帧时间不能用来比较驱动,看这些数据时请记住这一点。

场景原厂 ms第三方 ms差异启动次数GPU 频率,MHz画面对比原厂
compute_nbodyn/a6.10 典型值 6.04仅一侧有? 对比 3 / 3? 对比 ? 频率未知未检测
compute_nbody_2xn/a19.29 典型值 18.44仅一侧有? 对比 3 / 3? 对比 ? 频率未知未检测
hdr_2160pn/a41.15 典型值 39.15仅一侧有? 对比 3 / 3? 对比 ? 频率未知未检测
oit_linked_listsn/a7.45 典型值 6.93仅一侧有? 对比 3 / 3? 对比 ? 频率未知未检测
pipeline_barriersn/an/a仅一侧有? 对比 3 / 3? 对比 ? 频率未知未检测
pipeline_barriers_2160pn/a14.25 典型值 15.04仅一侧有? 对比 3 / 3? 对比 ? 频率未知未检测
subpassesn/an/a仅一侧有? 对比 3 / 3? 对比 ? 频率未知未检测
subpasses_2160pn/an/a仅一侧有? 对比 3 / 3? 对比 ? 频率未知未检测

绘制一帧所需的时间,按场景统计:取该场景最佳一轮的平均帧时间,也就是驱动交付了多少帧;越低越快。旁边的“典型值”是中位帧,当驱动的帧分成两种速度时,它可能比平均值低很多。在记录每轮平均值之前生成的一对报告,改用中位数对比。各轮之间相差超过 15% 的场景会被排除。标为“被锁帧”的场景,是被驱动或显示队列锁在了那个平均帧时间上,并且同一次运行中至少还有另一个场景也是如此;它的耗时反映的是帧的间隔,而不是驱动渲染得有多快,所以不参与对比。标为“太轻”的场景,在标准尺寸(1920×1080)下两个驱动都不到 8 ms,此时屏幕的帧队列对帧间隔的影响比芯片更大;这时对比的是它更重的版本:以 _2160p 结尾的行是以 3840×2160 绘制的该场景,compute_nbody_2x 是粒子数翻倍的该场景。“更快”和“更慢”描述的是 radv-xclipse-26.3.0-devel-05b3092 相对 Samsung Proprietary driver。“画面对比原厂”把每个场景的一个固定帧按粗略的色块网格对比(0 为完全相同,超过 40 表示画面不同),用来找出没有被画出来的场景。如果两份报告都带有更细的 64×36 网格,第二个数字是其 2,304 个格子中有多少个差异超过 255 里的 4,“最差”是单个格子的最大差异;这能找出其余部分都一致的画面里的小渲染错误。标为 16x9 的行来自细网格出现之前生成的报告。“启动次数”是一个场景的进程启动中,有多少次进入了被测量的一轮。标为“不可比”的 GPU 频率,表示两次计时之间的差异超过设备最大频率的 5%。

技术差异(Vulkan)

仅 radv-xclipse-26.3.0-devel-05b3092 有的扩展(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 Vulkan 1.1通过 → 不支持
storagePushConstant16 Vulkan 1.1不支持 → 通过
samplerFilterMinmax Vulkan 1.2不支持 → 通过
storagePushConstant8 Vulkan 1.2不支持 → 通过
bresenhamLines Vulkan 1.4不支持 → 通过
dynamicRenderingLocalRead Vulkan 1.4不支持 → 通过
globalPriorityQuery Vulkan 1.4不支持 → 通过
hostImageCopy Vulkan 1.4不支持 → 通过
indexTypeUint8 Vulkan 1.4不支持 → 通过
maintenance5 Vulkan 1.4不支持 → 通过
maintenance6 Vulkan 1.4不支持 → 通过
pipelineRobustness Vulkan 1.4不支持 → 通过
pushDescriptor Vulkan 1.4不支持 → 通过
rectangularLines Vulkan 1.4不支持 → 通过
shaderExpectAssume Vulkan 1.4不支持 → 通过
shaderFloatControls2 Vulkan 1.4不支持 → 通过
shaderSubgroupRotate Vulkan 1.4不支持 → 通过
shaderSubgroupRotateClustered Vulkan 1.4不支持 → 通过
smoothLines Vulkan 1.4不支持 → 通过
stippledBresenhamLines Vulkan 1.4不支持 → 通过
vertexAttributeInstanceRateDivisor Vulkan 1.4不支持 → 通过
vertexAttributeInstanceRateZeroDivisor Vulkan 1.4不支持 → 通过
不同的限制(46)
限制原厂第三方
maxTexelBufferElements4294967295536870912
maxPushConstantsSize128256
maxSamplerAllocationCount104857665536
sparseAddressSpaceSize140707423584256140737488355328
maxPerStageDescriptorSamplers42949672958388606
maxPerStageDescriptorUniformBuffers42949672958388606
maxPerStageDescriptorStorageBuffers42949672958388606
maxPerStageDescriptorSampledImages42949672958388606
maxPerStageDescriptorStorageImages42949672958388606
maxPerStageDescriptorInputAttachments42949672958388606
maxPerStageResources42949672958388606
maxDescriptorSetSamplers42949672958388606
maxDescriptorSetUniformBuffers42949672958388606
maxDescriptorSetUniformBuffersDynamic2416
maxDescriptorSetStorageBuffers42949672958388606
maxDescriptorSetSampledImages42949672958388606
maxDescriptorSetStorageImages42949672958388606
maxDescriptorSetInputAttachments42949672958388606
maxVertexInputAttributes6432
maxVertexInputBindingStride163832048
maxGeometryShaderInvocations12632
maxGeometryInputComponents12864
maxGeometryOutputVertices1023256
maxGeometryTotalOutputComponents40951024
maxFragmentCombinedOutputResources42949672958388606
maxComputeSharedMemorySize3276865536
maxComputeWorkGroupCount65535, 65535, 655354294967295, 65535, 65535
maxSamplerLodBias15.996116
minMemoryMapAlignment644096
minUniformBufferOffsetAlignment164
minTexelOffset-64-32
maxTexelOffset6331
maxInterpolationOffset12
maxFramebufferLayers81921024
framebufferColorSampleCounts715
framebufferDepthSampleCounts715
framebufferStencilSampleCounts715
framebufferNoAttachmentsSampleCounts715
sampledImageColorSampleCounts715
sampledImageIntegerSampleCounts715
sampledImageDepthSampleCounts715
sampledImageStencilSampleCounts715
storageImageSampleCounts715
discreteQueuePriorities32
lineWidthRange0, 8191.880, 8
nonCoherentAtomSize12864
只有一个驱动支持的格式(多了 33 种,少了 5 种)

仅 radv-xclipse-26.3.0-devel-05b3092 有:

  • 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

仅 Samsung Proprietary driver 有:

  • B8G8R8G8_422_UNORM
  • G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
  • G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
  • G8B8G8R8_422_UNORM
  • R4G4_UNORM_PACK8