WN-Turnip-1.16-b_Axxx vs Qualcomm Technologies Inc. Adreno Vulkan Driver
Na Adreno (TM) 725 (POCO F5, Vivo iQOO Neo7 Pro, Xiaomi 23013PC75G, Xiaomi 23049PCD8I). O primeiro driver citado é comparado com o segundo, que é a referência.
SistemaQualcomm Technologies Inc. Adreno Vulkan Driver
vsCustomizadoWN-Turnip-1.16-b_Axxx
Versão do sistema gráfico (Vulkan)1.1.128 a 1.4.362
Recursos opcionais (extensões)90 a 169+86 -7
Recursos que passam na verificação (validados)35 a 4814 passaram só no WN-Turnip-1.16-b_Axxx 1 passou só no Qualcomm Technologies Inc. Adreno Vulkan Driver
Cenas do teste de velocidade (benchmark)sem cenas em comum
Jogos que cada driver poderia rodar (uma estimativa a partir da lista de recursos): verde provável, amarelo talvez, laranja limitado, vermelho não
SistemaDX92002+DX102006+DX112009+DX122015+Switch
CustomizadoDX92002+DX102006+DX112009+DX122015+Switch
Detalhes do Qualcomm Technologies Inc. Adreno Vulkan Driver Detalhes do WN-Turnip-1.16-b_Axxx
Verificações de recursos que diferem (42)
| Recurso | Sistema | Customizado | Mudança |
|---|---|---|---|
| core.compute_udiv | passou | falhou | perdidos |
| borderColorSwizzle | sem suporte | passou | ganhos |
| colorWriteEnable | sem suporte | passou | ganhos |
| depthClipControl | sem suporte | passou | ganhos |
| extendedDynamicState2 | sem suporte | passou | ganhos |
| extendedDynamicState2LogicOp | sem suporte | passou | ganhos |
| extendedDynamicState3ColorBlendEnable | sem suporte | passou | ganhos |
| extendedDynamicState3ColorBlendEquation | sem suporte | passou | ganhos |
| extendedDynamicState3ColorWriteMask | sem suporte | passou | ganhos |
| extendedDynamicState3DepthClampEnable | sem suporte | passou | ganhos |
| extendedDynamicState3LogicOpEnable | sem suporte | passou | ganhos |
| extendedDynamicState3PolygonMode | sem suporte | passou | ganhos |
| inlineUniformBlock | sem suporte | passou | ganhos |
| vertexInputDynamicState | sem suporte | passou | ganhos |
| multiViewport | sem suporte | passou | ganhos |
| borderColorSwizzleFromImage | sem suporte | não testado | mudou |
| extendedDynamicState2PatchControlPoints | sem suporte | não testado | mudou |
| extendedDynamicState3AlphaToCoverageEnable | sem suporte | não testado | mudou |
| extendedDynamicState3AlphaToOneEnable | sem suporte | não testado | mudou |
| extendedDynamicState3ConservativeRasterizationMode | sem suporte | não testado | mudou |
| extendedDynamicState3DepthClipEnable | sem suporte | não testado | mudou |
| extendedDynamicState3DepthClipNegativeOneToOne | sem suporte | não testado | mudou |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | sem suporte | não testado | mudou |
| extendedDynamicState3LineRasterizationMode | sem suporte | não testado | mudou |
| extendedDynamicState3ProvokingVertexMode | sem suporte | não testado | mudou |
| extendedDynamicState3RasterizationSamples | sem suporte | não testado | mudou |
| extendedDynamicState3RasterizationStream | sem suporte | não testado | mudou |
| extendedDynamicState3SampleLocationsEnable | sem suporte | não testado | mudou |
| extendedDynamicState3SampleMask | sem suporte | não testado | mudou |
| extendedDynamicState3TessellationDomainOrigin | sem suporte | não testado | mudou |
| descriptorBindingInlineUniformBlockUpdateAfterBind | sem suporte | não testado | mudou |
| shaderInt64 | sem suporte | não testado | mudou |
| shaderResourceMinLod | sem suporte | não testado | mudou |
| shaderResourceResidency | sem suporte | não testado | mudou |
| shaderTessellationAndGeometryPointSize | sem suporte | não testado | mudou |
| sparseResidency16Samples | não testado | sem suporte | mudou |
| sparseResidency2Samples | não testado | sem suporte | mudou |
| sparseResidency4Samples | não testado | sem suporte | mudou |
| sparseResidency8Samples | não testado | sem suporte | mudou |
| sparseResidencyAliased | sem suporte | não testado | mudou |
| sparseResidencyImage2D | não testado | sem suporte | mudou |
| variableMultisampleRate | sem suporte | não testado | mudou |
Cenas do teste de velocidade (benchmark)
Os dois drivers não foram medidos no mesmo conjunto de modelos de aparelho. Frametimes de aparelhos diferentes não servem para comparar drivers, então leia esses números com isso em mente.
| Cena | Sistema ms | Customizado ms | Diferença | Inícios | Clock da GPU, MHz | Imagem vs driver do sistema |
|---|---|---|---|---|---|---|
| compute_nbody | 11.46 | n/a | só um lado | 3 de 3 vs ? | ? vs ? | não verificado |
| hdr_2160p | 49.10 | n/a | só um lado | 3 de 3 vs ? | ? vs ? | não verificado |
| oit_linked_lists | 31.88 | n/a | só um lado | 3 de 3 vs ? | ? vs ? | não verificado |
| pipeline_barriers | 8.46 | n/a | só um lado | 3 de 3 vs ? | ? vs ? | não verificado |
| subpasses | 14.30 | n/a | só um lado | 3 de 3 vs ? | ? vs ? | não verificado |
Diferenças técnicas (Vulkan)
Extensões só no WN-Turnip-1.16-b_Axxx (86)
- VK_AMD_buffer_marker
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_4444_formats
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_border_color_swizzle
- VK_EXT_color_write_enable
- VK_EXT_conditional_rendering
- VK_EXT_conservative_rasterization
- VK_EXT_custom_resolve
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_control
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_EXT_depth_clip_enable
- VK_EXT_descriptor_buffer
- VK_EXT_device_address_binding_report
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state2
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_dma_buf
- VK_EXT_fragment_density_map_offset
- VK_EXT_global_priority_query
- 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_image_view_min_lod
- VK_EXT_inline_uniform_block
- VK_EXT_legacy_dithering
- VK_EXT_legacy_vertex_attributes
- VK_EXT_load_store_op_none
- 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_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_tooling_info
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_compute_shader_derivatives
- VK_KHR_deferred_host_operations
- VK_KHR_dynamic_rendering
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_format_feature_flags2
- VK_KHR_global_priority
- VK_KHR_index_type_uint8
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_map_memory2
- VK_KHR_pipeline_library
- VK_KHR_shader_clock
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_swapchain_mutable_format
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
- VK_NV_compute_shader_derivatives
- VK_QCOM_fragment_density_map_offset
- VK_QCOM_multiview_per_view_render_areas
- VK_QCOM_multiview_per_view_viewports
- VK_VALVE_buffer_device_address_allocation_alignment
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
Extensões só no Qualcomm Technologies Inc. Adreno Vulkan Driver (7)
- VK_EXT_astc_decode_mode
- VK_EXT_blend_operation_advanced
- VK_EXT_fragment_density_map2
- VK_KHR_shared_presentable_image
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_rotated_copy_commands
Recursos básicos que diferem (78)
| multiview | sem suporte a passou |
| multiviewGeometryShader | sem suporte a passou |
| samplerYcbcrConversion | sem suporte a passou |
| shaderDrawParameters | sem suporte a passou |
| storageBuffer16BitAccess | sem suporte a passou |
| variablePointers | sem suporte a passou |
| variablePointersStorageBuffer | sem suporte a passou |
| bufferDeviceAddress | sem suporte a passou |
| bufferDeviceAddressCaptureReplay | sem suporte a passou |
| descriptorBindingPartiallyBound | sem suporte a passou |
| descriptorBindingSampledImageUpdateAfterBind | sem suporte a passou |
| descriptorBindingStorageBufferUpdateAfterBind | sem suporte a passou |
| descriptorBindingStorageImageUpdateAfterBind | sem suporte a passou |
| descriptorBindingStorageTexelBufferUpdateAfterBind | sem suporte a passou |
| descriptorBindingUniformBufferUpdateAfterBind | sem suporte a passou |
| descriptorBindingUniformTexelBufferUpdateAfterBind | sem suporte a passou |
| descriptorBindingUpdateUnusedWhilePending | sem suporte a passou |
| descriptorBindingVariableDescriptorCount | sem suporte a passou |
| descriptorIndexing | sem suporte a passou |
| drawIndirectCount | sem suporte a passou |
| hostQueryReset | sem suporte a passou |
| imagelessFramebuffer | sem suporte a passou |
| runtimeDescriptorArray | sem suporte a passou |
| samplerFilterMinmax | sem suporte a passou |
| samplerMirrorClampToEdge | sem suporte a passou |
| scalarBlockLayout | sem suporte a passou |
| separateDepthStencilLayouts | sem suporte a passou |
| shaderFloat16 | sem suporte a passou |
| shaderInt8 | sem suporte a passou |
| shaderOutputLayer | sem suporte a passou |
| shaderOutputViewportIndex | sem suporte a passou |
| shaderSampledImageArrayNonUniformIndexing | sem suporte a passou |
| shaderStorageBufferArrayNonUniformIndexing | sem suporte a passou |
| shaderStorageImageArrayNonUniformIndexing | sem suporte a passou |
| shaderStorageTexelBufferArrayDynamicIndexing | sem suporte a passou |
| shaderStorageTexelBufferArrayNonUniformIndexing | sem suporte a passou |
| shaderSubgroupExtendedTypes | sem suporte a passou |
| shaderUniformBufferArrayNonUniformIndexing | sem suporte a passou |
| shaderUniformTexelBufferArrayDynamicIndexing | sem suporte a passou |
| shaderUniformTexelBufferArrayNonUniformIndexing | sem suporte a passou |
| storageBuffer8BitAccess | sem suporte a passou |
| subgroupBroadcastDynamicId | sem suporte a passou |
| timelineSemaphore | sem suporte a passou |
| uniformBufferStandardLayout | sem suporte a passou |
| vulkanMemoryModel | sem suporte a passou |
| vulkanMemoryModelAvailabilityVisibilityChains | sem suporte a passou |
| vulkanMemoryModelDeviceScope | sem suporte a passou |
| computeFullSubgroups | sem suporte a passou |
| descriptorBindingInlineUniformBlockUpdateAfterBind | sem suporte a passou |
| dynamicRendering | sem suporte a passou |
| inlineUniformBlock | sem suporte a passou |
| maintenance4 | sem suporte a passou |
| pipelineCreationCacheControl | sem suporte a passou |
| privateData | sem suporte a passou |
| robustImageAccess | sem suporte a passou |
| shaderDemoteToHelperInvocation | sem suporte a passou |
| shaderIntegerDotProduct | sem suporte a passou |
| shaderTerminateInvocation | sem suporte a passou |
| shaderZeroInitializeWorkgroupMemory | sem suporte a passou |
| subgroupSizeControl | sem suporte a passou |
| synchronization2 | sem suporte a passou |
| textureCompressionASTC_HDR | sem suporte a passou |
| bresenhamLines | sem suporte a passou |
| dynamicRenderingLocalRead | sem suporte a passou |
| globalPriorityQuery | sem suporte a passou |
| hostImageCopy | sem suporte a passou |
| indexTypeUint8 | sem suporte a passou |
| maintenance5 | sem suporte a passou |
| maintenance6 | sem suporte a passou |
| pipelineRobustness | sem suporte a passou |
| pushDescriptor | sem suporte a passou |
| rectangularLines | sem suporte a passou |
| shaderExpectAssume | sem suporte a passou |
| shaderFloatControls2 | sem suporte a passou |
| shaderSubgroupRotate | sem suporte a passou |
| shaderSubgroupRotateClustered | sem suporte a passou |
| vertexAttributeInstanceRateDivisor | sem suporte a passou |
| vertexAttributeInstanceRateZeroDivisor | sem suporte a passou |
Limites que diferem (33)
| Limite | Sistema | Customizado |
|---|---|---|
| maxMemoryAllocationCount | 4096 | 4294967295 |
| maxSamplerAllocationCount | 4000 | 65536 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 562949953421311 | 0 |
| maxPerStageDescriptorSamplers | 524288 | 16777216 |
| maxPerStageDescriptorUniformBuffers | 524288 | 16777216 |
| maxPerStageDescriptorStorageBuffers | 524288 | 16777216 |
| maxPerStageDescriptorSampledImages | 524288 | 16777216 |
| maxPerStageDescriptorStorageImages | 524288 | 16777216 |
| maxPerStageResources | 1572864 | 16777216 |
| maxDescriptorSetSamplers | 524288 | 16777216 |
| maxDescriptorSetUniformBuffers | 524288 | 16777216 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffers | 524288 | 16777216 |
| maxDescriptorSetStorageBuffersDynamic | 16 | 8 |
| maxDescriptorSetSampledImages | 524288 | 16777216 |
| maxDescriptorSetStorageImages | 524288 | 16777216 |
| maxVertexInputAttributeOffset | 4096 | 4095 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryOutputVertices | 1024 | 256 |
| maxGeometryTotalOutputComponents | 131072 | 1024 |
| maxFragmentInputComponents | 112 | 128 |
| maxFragmentCombinedOutputResources | 72 | 33554440 |
| maxComputeWorkGroupInvocations | 1024 | 2048 |
| maxComputeWorkGroupSize | 1024, 1024, 64 | 1024, 1024, 1024 |
| maxViewports | 1 | 16 |
| minMemoryMapAlignment | 64 | 4096 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 3 | 2 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
Formatos suportados por só um driver (34 ganhos, 1 perdidos)
- A1B5G5R5_UNORM_PACK16
- A2B10G10R10_SSCALED_PACK32
- A2B10G10R10_USCALED_PACK32
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A4B4G4R4_UNORM_PACK16
- A4R4G4B4_UNORM_PACK16
- A8B8G8R8_SSCALED_PACK32
- A8B8G8R8_USCALED_PACK32
- A8_UNORM
- B8G8R8A8_SINT
- B8G8R8A8_SNORM
- B8G8R8A8_SSCALED
- B8G8R8A8_UINT
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT
- R16G16B16A16_SSCALED
- R16G16B16A16_USCALED
- R16G16B16_SSCALED
- R16G16B16_USCALED
- R16G16_SSCALED
- R16G16_USCALED
- R16_SSCALED
- R16_USCALED
- R8G8B8A8_SSCALED
- R8G8B8A8_USCALED
- R8G8B8_SSCALED
- R8G8B8_USCALED
- R8G8_SSCALED
- R8G8_USCALED
- R8_SSCALED
- R8_USCALED
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16