Turnip_Gen8_V37 vs Qualcomm Technologies Inc. Adreno Vulkan Driver
En la Adreno (TM) 825 (Nothing Phone (3), OnePlus Nord 6, Oppo K13 Turbo Pro 5G, Poco F7, Poco F7, REDMI Turbo 4 Pro). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
De fábricaQualcomm Technologies Inc. Adreno Vulkan Driver
vsPersonalizadoTurnip_Gen8_V37
Versión del sistema gráfico (Vulkan)1.3.284 a 1.4.363
Funciones opcionales (extensiones)165 a 178+34 -21
Funciones que pasan su comprobación (validadas)44 a 496 pasan solo en Turnip_Gen8_V37 1 pasa solo en Qualcomm Technologies Inc. Adreno Vulkan Driver
Escenas de la prueba de velocidad (benchmark)0 más rápidas 4 más lentas32% más lento en general (media geométrica)
Juegos que podría mover cada driver (una estimación a partir de su lista de funciones): verde probable, amarillo quizá, naranja limitado, rojo no
De fábricaDX92002+DX102006+DX112009+DX122015+Switch
PersonalizadoDX92002+DX102006+DX112009+DX122015+Switch
- hdr_2160p57% más lento
- oit_linked_lists30% más lento
- pipeline_barriers_2160p12% más lento
- subpasses_2160p20% más lento
Pequeñas zonas de la imagen difieren del driver de fábrica en 2 escenas (pipeline_barriers: 1337 de 2304 celdas, pipeline_barriers_2160p: 1038 de 2304 celdas). La imagen coincide en general, así que es un fallo de renderizado local, no una escena distinta.
Detalles de Qualcomm Technologies Inc. Adreno Vulkan Driver Detalles de Turnip_Gen8_V37
Comprobaciones de funciones que difieren (24)
| Función | De fábrica | Personalizado | Cambio |
|---|---|---|---|
| core.compute_udiv | pasa | falla | perdido |
| extendedDynamicState3ColorBlendEnable | no admitida | pasa | ganado |
| extendedDynamicState3ColorBlendEquation | no admitida | pasa | ganado |
| extendedDynamicState3ColorWriteMask | no admitida | pasa | ganado |
| extendedDynamicState3DepthClampEnable | no admitida | pasa | ganado |
| extendedDynamicState3LogicOpEnable | no admitida | pasa | ganado |
| extendedDynamicState3PolygonMode | no admitida | pasa | ganado |
| extendedDynamicState3AlphaToCoverageEnable | no admitida | sin probar | cambió |
| extendedDynamicState3AlphaToOneEnable | no admitida | sin probar | cambió |
| extendedDynamicState3ConservativeRasterizationMode | no admitida | sin probar | cambió |
| extendedDynamicState3DepthClipEnable | no admitida | sin probar | cambió |
| extendedDynamicState3DepthClipNegativeOneToOne | no admitida | sin probar | cambió |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | no admitida | sin probar | cambió |
| extendedDynamicState3LineRasterizationMode | no admitida | sin probar | cambió |
| extendedDynamicState3ProvokingVertexMode | no admitida | sin probar | cambió |
| extendedDynamicState3RasterizationSamples | no admitida | sin probar | cambió |
| extendedDynamicState3RasterizationStream | no admitida | sin probar | cambió |
| extendedDynamicState3SampleLocationsEnable | no admitida | sin probar | cambió |
| extendedDynamicState3SampleMask | no admitida | sin probar | cambió |
| extendedDynamicState3TessellationDomainOrigin | no admitida | sin probar | cambió |
| shaderResourceMinLod | no admitida | sin probar | cambió |
| shaderResourceResidency | no admitida | sin probar | cambió |
| sparseResidency16Samples | sin probar | no admitida | cambió |
| sparseResidencyAliased | no admitida | sin probar | cambió |
Escenas de la prueba de velocidad (benchmark)
Los dos drivers no se midieron en los mismos modelos de dispositivo. Los tiempos por fotograma de dispositivos distintos no sirven para comparar drivers, así que lee estas cifras con eso en mente.
| Escena | De fábrica ms | Personalizado ms | Diferencia | Arranques | Reloj de la GPU, MHz | Imagen vs de fábrica |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 11.87 | solo un lado | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| hdr_2160p | 11.11 | 25.76 | 57% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| oit_linked_lists | 17.31 | 24.62 | 30% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| pipeline_barriers | n/a | 2.56 | demasiado ligera, ver pipeline_barriers_2160p | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia difiere en 1337 zonas pequeñas |
| pipeline_barriers_2160p | 8.98 | 10.23 | 12% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia difiere en 1038 zonas pequeñas |
| subpasses | 4.04 | 5.10 | demasiado ligera, ver subpasses_2160p | 3 de 3 vs 3 de 3 | ? vs ? | sin comprobar |
| subpasses_2160p | 15.13 | 18.94 | 20% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin comprobar |
Diferencias técnicas (Vulkan)
Extensiones solo en Turnip_Gen8_V37 (34)
- 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_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
Extensiones solo en Qualcomm Technologies Inc. Adreno Vulkan Driver (21)
- 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_EXT_shader_subgroup_ballot
- 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
Funciones básicas que difieren (20)
| multiviewGeometryShader | no admitida a pasa |
| protectedMemory | pasa a no admitida |
| shaderInputAttachmentArrayDynamicIndexing | pasa a no admitida |
| shaderInputAttachmentArrayNonUniformIndexing | pasa a no admitida |
| bresenhamLines | no admitida a pasa |
| dynamicRenderingLocalRead | no admitida a pasa |
| globalPriorityQuery | no admitida a pasa |
| hostImageCopy | no admitida a pasa |
| indexTypeUint8 | no admitida a pasa |
| maintenance5 | no admitida a pasa |
| maintenance6 | no admitida a pasa |
| pipelineRobustness | no admitida a pasa |
| pushDescriptor | no admitida a pasa |
| rectangularLines | no admitida a pasa |
| shaderExpectAssume | no admitida a pasa |
| shaderFloatControls2 | no admitida a pasa |
| shaderSubgroupRotate | no admitida a pasa |
| shaderSubgroupRotateClustered | no admitida a pasa |
| vertexAttributeInstanceRateDivisor | no admitida a pasa |
| vertexAttributeInstanceRateZeroDivisor | no admitida a pasa |
Límites que difieren (22)
| Límite | De fábrica | Personalizado |
|---|---|---|
| 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 |
| maxComputeSharedMemorySize | 32768 | 65536 |
| maxComputeWorkGroupInvocations | 1024 | 2048 |
| 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 admitidos por un solo driver (5 ganados, 1 perdidos)
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16