v37_Turnip_Gen8_V37_patch vs Qualcomm Technologies Inc. Adreno Vulkan Driver
Na Adreno (TM) 825 (Nothing Phone (3), OnePlus Nord 6, Oppo K13 Turbo Pro 5G, Poco F7, Poco F7, REDMI Turbo 4 Pro). O primeiro driver citado é comparado com o segundo, que é a referência.
SistemaQualcomm Technologies Inc. Adreno Vulkan Driver
vsCustomizadov37_Turnip_Gen8_V37_patch
Versão do sistema gráfico (Vulkan)1.3.284 a 1.4.363
Recursos opcionais (extensões)165 a 180+35 -20
Recursos que passam na verificação (validados)44 a 496 passaram só no v37_Turnip_Gen8_V37_patch 1 passou só no Qualcomm Technologies Inc. Adreno Vulkan Driver
Cenas do teste de velocidade (benchmark)1 mais rápida 1 mais lenta 1 empate2% mais rápido no geral (média geométrica)
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
- oit_linked_lists2% mais lento
- pipeline_barriers_2160p8% mais rápido
- subpasses_2160p2% mais rápido
Pequenas áreas da imagem diferem do driver do sistema em 2 cenas (pipeline_barriers: 1698 de 2304 células, pipeline_barriers_2160p: 1038 de 2304 células). A imagem bate no geral, então isto é uma falha local de renderização, não uma cena diferente.
Nem sempre iniciou: compute_nbody (do sistema 3 de 3, customizado 0 de 3).
Detalhes do Qualcomm Technologies Inc. Adreno Vulkan Driver Detalhes do v37_Turnip_Gen8_V37_patch
Verificações de recursos que diferem (24)
| Recurso | Sistema | Customizado | Mudança |
|---|---|---|---|
| core.compute_udiv | passou | falhou | perdidos |
| 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 |
| 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 |
| shaderResourceMinLod | sem suporte | não testado | mudou |
| shaderResourceResidency | sem suporte | não testado | mudou |
| sparseResidency16Samples | não testado | sem suporte | mudou |
| sparseResidencyAliased | sem suporte | não testado | mudou |
Cenas do teste de velocidade (benchmark)
| Cena | Sistema ms | Customizado ms | Diferença | Inícios | Clock da GPU, MHz | Imagem vs driver do sistema |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | n/a | só um lado | 3 de 3 vs 0 de 3 | ? vs ? | não verificado |
| hdr_2160p | 11.00 | n/a | só um lado | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande sem diferença pequena |
| oit_linked_lists | 17.31 | 17.68 | 2% mais lento | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande sem diferença pequena |
| pipeline_barriers | n/a | 2.39 | leve demais, veja pipeline_barriers_2160p | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande difere em 1698 áreas pequenas |
| pipeline_barriers_2160p | 8.98 | 8.35 | 8% mais rápido | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande difere em 1038 áreas pequenas |
| subpasses | 4.04 | 3.90 | leve demais, veja subpasses_2160p | 3 de 3 vs 3 de 3 | ? vs ? | não verificado |
| subpasses_2160p | 15.13 | 14.85 | 2% mais rápido | 3 de 3 vs 3 de 3 | ? vs ? | não verificado |
Diferenças técnicas (Vulkan)
Extensões só no v37_Turnip_Gen8_V37_patch (35)
- 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_custom_resolve
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_control
- 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_drm_format_modifier
- VK_EXT_legacy_dithering
- VK_EXT_legacy_vertex_attributes
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_mesh_shader
- VK_EXT_nested_command_buffer
- VK_EXT_non_seamless_cube_map
- VK_EXT_primitive_restart_index
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_compute_shader_derivatives
- VK_KHR_maintenance7
- VK_KHR_pipeline_library
- VK_KHR_shader_relaxed_extended_instruction
- VK_NV_compute_shader_derivatives
- 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 (20)
- VK_ANDROID_external_format_resolve
- VK_EXT_astc_decode_mode
- VK_EXT_blend_operation_advanced
- VK_EXT_depth_range_unrestricted
- VK_EXT_device_fault
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_fragment_density_map2
- VK_EXT_image_compression_control_swapchain
- VK_EXT_pipeline_protected_access
- VK_KHR_ray_tracing_position_fetch
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shared_presentable_image
- VK_NV_optical_flow
- VK_QCOM_filter_cubic_weights
- VK_QCOM_image_processing2
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_rotated_copy_commands
- VK_QCOM_tile_properties
- VK_QCOM_ycbcr_degamma
Recursos básicos que diferem (20)
| multiviewGeometryShader | sem suporte a passou |
| protectedMemory | passou a sem suporte |
| shaderInputAttachmentArrayDynamicIndexing | passou a sem suporte |
| shaderInputAttachmentArrayNonUniformIndexing | passou a sem suporte |
| 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 (20)
| Limite | Sistema | Customizado |
|---|---|---|
| maxTexelBufferElements | 134217728 | 536870911 |
| 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 |
| minMemoryMapAlignment | 64 | 4096 |
| minUniformBufferOffsetAlignment | 256 | 64 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 3 | 2 |
| pointSizeRange | 1, 4095 | 1, 4092 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
Formatos suportados por só um driver (5 ganhos, 1 perdidos)
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16