radv-xclipse-26.3.0-devel-313870e 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-313870e
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 513 pass only on radv-xclipse-26.3.0-devel-313870e 1 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-313870e details
Feature checks that differ (13)
| Feature | Stock | Custom | Change |
|---|---|---|---|
| transformFeedback | 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)
Neither driver has a valid speed test (benchmark report) yet.
Technical differences (Vulkan)
Extensions only in 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
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