radv-xclipse-26.3.0-devel-05b3092 vs Samsung Proprietary driver
On Samsung Xclipse 920 (Samsung Galaxy S22, Samsung Galaxy S23 FE, Samsung Galaxy S24 FE). The first driver named is compared against the second, which is the baseline.
StockSamsung Proprietary driver
vsCustomradv-xclipse-26.3.0-devel-05b3092
Graphics system version (Vulkan)1.3.279 to 1.4.358
Optional features (extensions)146 to 228+87 -5
Features that pass their check (validated)49 to 503 pass only on radv-xclipse-26.3.0-devel-05b3092 2 pass only on Samsung Proprietary driver
Speed test scenes (benchmark)no shared scenes
Games each driver could run (an estimate from its feature list): green likely, yellow maybe, orange limited, red no
StockDX92002+DX102006+DX112009+DX122015+Switch
CustomDX92002+DX102006+DX112009+DX122015+Switch
Samsung Proprietary driver details radv-xclipse-26.3.0-devel-05b3092 details
Feature checks that differ (14)
| Feature | Stock | Custom | Change |
|---|---|---|---|
| transformFeedback | pass | fail | lost |
| tessellationShader | pass | fail | lost |
| floatRepresentation | unsupported | pass | gained |
| extendedDynamicState2LogicOp | unsupported | pass | gained |
| textureCompressionBC | unsupported | pass | gained |
| depthBiasControl | unsupported | untested | changed |
| depthBiasExact | unsupported | untested | changed |
| leastRepresentableValueForceUnormRepresentation | unsupported | untested | changed |
| extendedDynamicState2PatchControlPoints | unsupported | untested | changed |
| extendedDynamicState3AlphaToOneEnable | unsupported | untested | changed |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | untested | unsupported | changed |
| shaderFloat64 | unsupported | untested | changed |
| shaderResourceMinLod | unsupported | untested | changed |
| shaderResourceResidency | unsupported | untested | changed |
Speed test scenes (benchmark)
The two drivers were not measured on the same set of device models. Frame times from different devices do not compare drivers, so read these numbers with that in mind.
| Scene | Stock ms | Custom ms | Difference | Starts | GPU clock, MHz | Picture vs stock |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 6.10 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| compute_nbody_2x | n/a | 19.29 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| hdr_2160p | n/a | 41.15 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| oit_linked_lists | n/a | 7.45 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| pipeline_barriers | n/a | n/a | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| pipeline_barriers_2160p | n/a | 14.25 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| subpasses | n/a | n/a | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| subpasses_2160p | n/a | n/a | only one side | ? vs 3 of 3 | ? vs ? | not checked |
Technical differences (Vulkan)
Extensions only in 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
Extensions only in 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
Core features that differ (22)
| protectedMemory | pass to unsupported |
| storagePushConstant16 | unsupported to pass |
| samplerFilterMinmax | unsupported to pass |
| storagePushConstant8 | unsupported to pass |
| bresenhamLines | unsupported to pass |
| dynamicRenderingLocalRead | unsupported to pass |
| globalPriorityQuery | unsupported to pass |
| hostImageCopy | unsupported to pass |
| indexTypeUint8 | unsupported to pass |
| maintenance5 | unsupported to pass |
| maintenance6 | unsupported to pass |
| pipelineRobustness | unsupported to pass |
| pushDescriptor | unsupported to pass |
| rectangularLines | unsupported to pass |
| shaderExpectAssume | unsupported to pass |
| shaderFloatControls2 | unsupported to pass |
| shaderSubgroupRotate | unsupported to pass |
| shaderSubgroupRotateClustered | unsupported to pass |
| smoothLines | unsupported to pass |
| stippledBresenhamLines | unsupported to pass |
| vertexAttributeInstanceRateDivisor | unsupported to pass |
| vertexAttributeInstanceRateZeroDivisor | unsupported to pass |
Limits that differ (46)
| Limit | Stock | Custom |
|---|---|---|
| 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 |
Formats supported by only one driver (33 gained, 5 lost)
- 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