turnip_faux123_v1.2.0 vs Qualcomm Technologies Inc. Adreno Vulkan Driver
En la Adreno (TM) 830 (AYN Odin 3). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
- compute_nbody_2x1% más rápido
- hdr_2160p75% más rápido
- oit_linked_lists5% más lento
- pipeline_barriers_2160p1% más rápido
- subpasses_2160p1% más rápido
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.
No en igualdad de condiciones: el reloj de la GPU fue distinto durante 3 de estas escenas (por ejemplo compute_nbody_2x: de fábrica al 88% del máximo del dispositivo, personalizado al 97%). Parte de la diferencia en el tiempo por fotograma viene del reloj que eligió el dispositivo, no del driver.
No se comparan: 3 escenas con fotogramas capados (paced) (compute_nbody, pipeline_barriers, subpasses). Al menos uno de los dos drivers estaba limitado a una tasa de fotogramas fija en ellas, así que los dos tiempos no miden lo mismo.
Detalles de Qualcomm Technologies Inc. Adreno Vulkan Driver Detalles de turnip_faux123_v1.2.0
Comprobaciones de funciones que difieren (39)
| Función | De fábrica | Personalizado | Cambio |
|---|---|---|---|
| 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 |
| depthClamp | sin probar | pasa | ganado |
| largePoints | sin probar | pasa | ganado |
| compat.helper_loop_terminator | sin probar | pasa | ganado |
| compat.nested_map | sin probar | pasa | ganado |
| core.blend_advertised_formats | sin probar | pasa | ganado |
| core.compute_big_stack | sin probar | pasa | ganado |
| core.copy_wide_row_length | falla | pasa | ganado |
| core.host_coherent_readback | sin probar | pasa | ganado |
| core.mrt_partial_kill | sin probar | pasa | ganado |
| core.ubo_update_buffer | sin probar | pasa | ganado |
| core.ubo_written_after_record | sin probar | pasa | ganado |
| core.varying_subset | sin probar | pasa | ganado |
| mem.image_padding | sin probar | pasa | ganado |
| stage.geometry_max_output | sin probar | pasa | ganado |
| stage.geometry_point_size | sin probar | pasa | ganado |
| sync.first_submit_clear_then_compute | sin probar | 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)
| Escena | De fábrica ms | Personalizado ms | Diferencia | Arranques | Reloj de la GPU, MHz | Imagen vs de fábrica |
|---|---|---|---|---|---|---|
| compute_nbody | 2.80 | demasiado ligera, ver compute_nbody_2x | 3 de 3 vs 3 de 3 | 967 vs 1100 no comparable | sin gran diferencia sin diferencia pequeña | |
| compute_nbody_2x | 8.49 | 8.42 | 1% más rápido | 3 de 3 vs 3 de 3 | 967 vs 1067 no comparable | sin gran diferencia sin diferencia pequeña |
| hdr_2160p | 13.63 | 7.80 | 75% más rápido | ? vs 3 de 3 | ? vs 1058 | sin comprobar |
| oit_linked_lists | 16.38 | 17.31 | 5% más lento | 3 de 3 vs 3 de 3 | 967 vs 1100 no comparable | sin gran diferencia sin diferencia pequeña |
| pipeline_barriers | 1.53 | demasiado ligera, ver pipeline_barriers_2160p | 3 de 3 vs 3 de 3 | 967 vs 1100 no comparable | sin gran diferencia difiere en 1337 zonas pequeñas | |
| pipeline_barriers_2160p | 6.02 | 5.97 | 1% más rápido | 3 de 3 vs 3 de 3 | 967 vs 967 | sin gran diferencia difiere en 1038 zonas pequeñas |
| subpasses | 2.46 | demasiado ligera, ver subpasses_2160p | 3 de 3 vs 3 de 3 | 967 vs 1100 no comparable | sin comprobar | |
| subpasses_2160p | 9.44 | 9.37 | 1% más rápido | 3 de 3 vs 3 de 3 | 967 vs 1061 no comparable | sin comprobar |
Diferencias técnicas (Vulkan)
Extensiones solo en turnip_faux123_v1.2.0 (31)
- 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_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_mutable_descriptor_type
Extensiones solo en Qualcomm Technologies Inc. Adreno Vulkan Driver (23)
- 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_map
- 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_shader_quad_control
- VK_KHR_shared_presentable_image
- VK_NV_optical_flow
- VK_QCOM_filter_cubic_weights
- VK_QCOM_fragment_density_map_offset
- 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 (20)
| 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 |
| 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