Balemuni_Apex_v2_ULTIMATE_SD8Gen2 vs Qualcomm Technologies Inc. Adreno Vulkan Driver
On 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). The first driver named is compared against the second, which is the baseline.
StockQualcomm Technologies Inc. Adreno Vulkan Driver
vsCustomBalemuni_Apex_v2_ULTIMATE_SD8Gen2
Graphics system version (Vulkan)1.3.128 to 1.4.359
Optional features (extensions)113 to 142+50 -21
Features that pass their check (validated)41 to 499 pass only on Balemuni_Apex_v2_ULTIMATE_SD8Gen2 1 pass only on Qualcomm Technologies Inc. Adreno Vulkan 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
Qualcomm Technologies Inc. Adreno Vulkan Driver details Balemuni_Apex_v2_ULTIMATE_SD8Gen2 details
Feature checks that differ (35)
| Feature | Stock | Custom | Change |
|---|---|---|---|
| core.compute_udiv | pass | fail | lost |
| borderColorSwizzle | unsupported | pass | gained |
| extendedDynamicState3ColorBlendEnable | unsupported | pass | gained |
| extendedDynamicState3ColorBlendEquation | unsupported | pass | gained |
| extendedDynamicState3ColorWriteMask | unsupported | pass | gained |
| extendedDynamicState3DepthClampEnable | unsupported | pass | gained |
| extendedDynamicState3LogicOpEnable | unsupported | pass | gained |
| extendedDynamicState3PolygonMode | unsupported | pass | gained |
| inlineUniformBlock | unsupported | pass | gained |
| shaderBufferInt64Atomics | unsupported | pass | gained |
| borderColorSwizzleFromImage | unsupported | untested | changed |
| extendedDynamicState3AlphaToCoverageEnable | unsupported | untested | changed |
| extendedDynamicState3AlphaToOneEnable | unsupported | untested | changed |
| extendedDynamicState3ConservativeRasterizationMode | unsupported | untested | changed |
| extendedDynamicState3DepthClipEnable | unsupported | untested | changed |
| extendedDynamicState3DepthClipNegativeOneToOne | unsupported | untested | changed |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | unsupported | untested | changed |
| extendedDynamicState3LineRasterizationMode | unsupported | untested | changed |
| extendedDynamicState3ProvokingVertexMode | unsupported | untested | changed |
| extendedDynamicState3RasterizationSamples | unsupported | untested | changed |
| extendedDynamicState3RasterizationStream | unsupported | untested | changed |
| extendedDynamicState3SampleLocationsEnable | unsupported | untested | changed |
| extendedDynamicState3SampleMask | unsupported | untested | changed |
| extendedDynamicState3TessellationDomainOrigin | unsupported | untested | changed |
| descriptorBindingInlineUniformBlockUpdateAfterBind | unsupported | untested | changed |
| shaderInt64 | unsupported | untested | changed |
| shaderResourceMinLod | unsupported | untested | changed |
| shaderResourceResidency | unsupported | untested | changed |
| shaderTessellationAndGeometryPointSize | unsupported | untested | changed |
| sparseResidency16Samples | untested | unsupported | changed |
| sparseResidency2Samples | untested | unsupported | changed |
| sparseResidency4Samples | untested | unsupported | changed |
| sparseResidency8Samples | untested | unsupported | changed |
| sparseResidencyAliased | unsupported | untested | changed |
| sparseResidencyImage2D | untested | unsupported | 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 | 8.32 | n/a | only one side | 3 of 3 vs 0 of 3 | 550 vs ? | not checked |
| hdr_2160p | 21.98 | n/a | only one side | 3 of 3 vs ? | 680 vs ? | not checked |
| oit_linked_lists | 25.25 | n/a | only one side | 3 of 3 vs 0 of 3 | 680 vs ? | not checked |
| pipeline_barriers | 5.42 | n/a | only one side | 3 of 3 vs 3 of 3 | 413 vs 680 not comparable | no large difference differs in 1025 small areas |
| pipeline_barriers_2160p | 8.44 | n/a | only one side | 3 of 3 vs 3 of 3 | 680 vs 680 | no large difference differs in 1336 small areas |
| subpasses | 5.54 | n/a | only one side | 3 of 3 vs 3 of 3 | 572 vs 680 not comparable | not checked |
| subpasses_2160p | 14.40 | n/a | only one side | 3 of 3 vs 3 of 3 | 680 vs 680 | not checked |
Technical differences (Vulkan)
Extensions only in Balemuni_Apex_v2_ULTIMATE_SD8Gen2 (50)
- 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_shader_atomic_int64
- VK_KHR_shader_clock
- VK_NV_compute_shader_derivatives
- VK_QCOM_multiview_per_view_render_areas
- VK_QCOM_multiview_per_view_viewports
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
Extensions only in Qualcomm Technologies Inc. Adreno Vulkan Driver (21)
- VK_EXT_astc_decode_mode
- VK_EXT_blend_operation_advanced
- VK_EXT_fragment_density_map2
- VK_KHR_acceleration_structure
- VK_KHR_deferred_host_operations
- VK_KHR_dynamic_rendering
- VK_KHR_format_feature_flags2
- VK_KHR_fragment_shading_rate
- VK_KHR_global_priority
- VK_KHR_maintenance4
- VK_KHR_ray_query
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_terminate_invocation
- VK_KHR_shared_presentable_image
- VK_KHR_synchronization2
- VK_KHR_zero_initialize_workgroup_memory
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_rotated_copy_commands
- VK_QCOM_tile_properties
Core features that differ (23)
| multiviewGeometryShader | unsupported to pass |
| protectedMemory | pass to unsupported |
| shaderBufferInt64Atomics | unsupported to pass |
| shaderInputAttachmentArrayDynamicIndexing | pass to unsupported |
| shaderInputAttachmentArrayNonUniformIndexing | pass to unsupported |
| shaderOutputLayer | unsupported to pass |
| shaderOutputViewportIndex | 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 |
| vertexAttributeInstanceRateDivisor | unsupported to pass |
| vertexAttributeInstanceRateZeroDivisor | unsupported to pass |
Limits that differ (18)
| Limit | Stock | Custom |
|---|---|---|
| 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 |
Formats supported by only one driver (31 gained, 1 lost)
- 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