turnip_faux123_v1.2.1-rc4 vs Qualcomm Technologies Inc. Adreno Vulkan Driver
En la Adreno (TM) 650 (blackshark SHARK PAR-A0, MANGMI Pocket Max, Moorechip Retroid Pocket 5, Moorechip Retroid Pocket Flip2, motorola moto g(100), POCO F3, POCO F4, Samsung Galaxy S20 FE, Samsung Galaxy S20 FE 5G, Samsung Galaxy S20 FE 5G, Samsung Galaxy S20+ 5G, Samsung Galaxy Tab S7+, Sony Xperia 5 II, Xiaomi Mi 10 Ultra, Xiaomi Pad 6). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
- compute_nbody7% más lento
- hdr_2160p23% más lento
- oit_linked_lists13% más lento
- pipeline_barriers_2160p10% más lento
- subpasses13% más lento
Pequeñas zonas de la imagen difieren del driver de fábrica en 2 escenas (pipeline_barriers: 1261 de 2304 celdas, pipeline_barriers_2160p: 1211 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_faux123_v1.2.1-rc4
Comprobaciones de funciones que difieren (37)
| Función | De fábrica | Personalizado | Cambio |
|---|---|---|---|
| borderColorSwizzle | no admitida | pasa | ganado |
| colorWriteEnable | no admitida | pasa | ganado |
| depthClipControl | no admitida | pasa | ganado |
| extendedDynamicState2 | no admitida | pasa | ganado |
| extendedDynamicState2LogicOp | no admitida | pasa | ganado |
| 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 |
| inlineUniformBlock | no admitida | pasa | ganado |
| depthClamp | sin probar | pasa | ganado |
| largePoints | sin probar | pasa | ganado |
| core.copy_wide_row_length | falla | pasa | ganado |
| perf.fb_local_barrier_large_draws | sin probar | pasa | ganado |
| perf.fb_local_barrier_overdraw | sin probar | pasa | ganado |
| stress.scratch_per_batch | sin probar | pasa | ganado |
| stress.spill_helper_lanes | sin probar | pasa | ganado |
| borderColorSwizzleFromImage | no admitida | sin probar | cambió |
| extendedDynamicState2PatchControlPoints | no admitida | sin probar | cambió |
| extendedDynamicState3AlphaToCoverageEnable | no admitida | sin probar | cambió |
| extendedDynamicState3AlphaToOneEnable | no admitida | sin probar | cambió |
| extendedDynamicState3DepthClipEnable | no admitida | sin probar | cambió |
| extendedDynamicState3DepthClipNegativeOneToOne | 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ó |
| descriptorBindingInlineUniformBlockUpdateAfterBind | no admitida | sin probar | cambió |
| logicOp | no admitida | sin probar | cambió |
| shaderInt64 | no admitida | sin probar | cambió |
| shaderResourceMinLod | no admitida | sin probar | cambió |
| variableMultisampleRate | 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 | 11.65 | 12.52 | 7% más lento | 3 de 3 vs 3 de 3 | 670 vs ? | sin gran diferencia sin diferencia pequeña |
| hdr_2160p | 43.11 | 56.04 | 23% más lento | 3 de 3 vs 3 de 3 | 670 vs ? | sin gran diferencia sin diferencia pequeña |
| oit_linked_lists | 33.03 | 37.98 | 13% más lento | 3 de 3 vs 3 de 3 | 670 vs ? | sin gran diferencia sin diferencia pequeña |
| pipeline_barriers | 5.06 | 5.60 | demasiado ligera, ver pipeline_barriers_2160p | 3 de 3 vs 3 de 3 | 670 vs ? | sin gran diferencia difiere en 1261 zonas pequeñas |
| pipeline_barriers_2160p | 17.31 | 19.22 | 10% más lento | 3 de 3 vs 3 de 3 | 670 vs ? | sin gran diferencia difiere en 1211 zonas pequeñas |
| subpasses | 7.92 | 9.14 | 13% más lento | 3 de 3 vs 3 de 3 | 670 vs ? | sin comprobar |
| subpasses_2160p | 29.07 | n/a | solo un lado | ? vs ? | ? vs ? | sin comprobar |
Diferencias técnicas (Vulkan)
Extensiones solo en turnip_faux123_v1.2.1-rc4 (77)
- 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_custom_resolve
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_control
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- 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_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_stencil_export
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_shader_viewport_index_layer
- VK_EXT_texel_buffer_alignment
- VK_EXT_tooling_info
- 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_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_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
- VK_NV_compute_shader_derivatives
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
Extensiones solo en Qualcomm Technologies Inc. Adreno Vulkan Driver (10)
- VK_EXT_astc_decode_mode
- VK_EXT_blend_operation_advanced
- VK_EXT_device_fault
- VK_EXT_fragment_density_map2
- VK_KHR_fragment_shading_rate
- VK_KHR_shared_presentable_image
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_rotated_copy_commands
- VK_QCOM_tile_properties
Funciones básicas que difieren (60)
| multiview | no admitida a pasa |
| samplerYcbcrConversion | no admitida a pasa |
| shaderDrawParameters | no admitida a pasa |
| storageBuffer16BitAccess | no admitida a pasa |
| variablePointers | no admitida a pasa |
| variablePointersStorageBuffer | no admitida a pasa |
| bufferDeviceAddress | no admitida a pasa |
| bufferDeviceAddressCaptureReplay | no admitida a pasa |
| descriptorBindingPartiallyBound | no admitida a pasa |
| descriptorBindingSampledImageUpdateAfterBind | no admitida a pasa |
| descriptorBindingStorageBufferUpdateAfterBind | no admitida a pasa |
| descriptorBindingStorageImageUpdateAfterBind | no admitida a pasa |
| descriptorBindingStorageTexelBufferUpdateAfterBind | no admitida a pasa |
| descriptorBindingUniformBufferUpdateAfterBind | no admitida a pasa |
| descriptorBindingUniformTexelBufferUpdateAfterBind | no admitida a pasa |
| descriptorBindingUpdateUnusedWhilePending | no admitida a pasa |
| descriptorBindingVariableDescriptorCount | no admitida a pasa |
| descriptorIndexing | no admitida a pasa |
| drawIndirectCount | no admitida a pasa |
| hostQueryReset | no admitida a pasa |
| imagelessFramebuffer | no admitida a pasa |
| runtimeDescriptorArray | no admitida a pasa |
| samplerFilterMinmax | no admitida a pasa |
| samplerMirrorClampToEdge | no admitida a pasa |
| scalarBlockLayout | no admitida a pasa |
| separateDepthStencilLayouts | no admitida a pasa |
| shaderFloat16 | no admitida a pasa |
| shaderInt8 | no admitida a pasa |
| shaderOutputLayer | no admitida a pasa |
| shaderOutputViewportIndex | no admitida a pasa |
| shaderSampledImageArrayNonUniformIndexing | no admitida a pasa |
| shaderStorageBufferArrayNonUniformIndexing | no admitida a pasa |
| shaderStorageImageArrayNonUniformIndexing | no admitida a pasa |
| shaderStorageTexelBufferArrayDynamicIndexing | no admitida a pasa |
| shaderStorageTexelBufferArrayNonUniformIndexing | no admitida a pasa |
| shaderSubgroupExtendedTypes | no admitida a pasa |
| shaderUniformBufferArrayNonUniformIndexing | no admitida a pasa |
| shaderUniformTexelBufferArrayDynamicIndexing | no admitida a pasa |
| shaderUniformTexelBufferArrayNonUniformIndexing | no admitida a pasa |
| subgroupBroadcastDynamicId | no admitida a pasa |
| timelineSemaphore | no admitida a pasa |
| uniformBufferStandardLayout | no admitida a pasa |
| vulkanMemoryModel | no admitida a pasa |
| vulkanMemoryModelAvailabilityVisibilityChains | no admitida a pasa |
| vulkanMemoryModelDeviceScope | no admitida a pasa |
| computeFullSubgroups | no admitida a pasa |
| descriptorBindingInlineUniformBlockUpdateAfterBind | no admitida a pasa |
| dynamicRendering | no admitida a pasa |
| inlineUniformBlock | no admitida a pasa |
| maintenance4 | no admitida a pasa |
| pipelineCreationCacheControl | no admitida a pasa |
| privateData | no admitida a pasa |
| robustImageAccess | no admitida a pasa |
| shaderDemoteToHelperInvocation | no admitida a pasa |
| shaderIntegerDotProduct | no admitida a pasa |
| shaderTerminateInvocation | no admitida a pasa |
| shaderZeroInitializeWorkgroupMemory | no admitida a pasa |
| subgroupSizeControl | no admitida a pasa |
| synchronization2 | no admitida a pasa |
| textureCompressionASTC_HDR | no admitida a pasa |
Límites que difieren (32)
| Límite | De fábrica | Personalizado |
|---|---|---|
| maxPushConstantsSize | 128 | 256 |
| maxMemoryAllocationCount | 4096 | 4294967295 |
| maxSamplerAllocationCount | 4000 | 65536 |
| bufferImageGranularity | 1 | 64 |
| 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 |
| minMemoryMapAlignment | 64 | 4096 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 3 | 2 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
Formatos admitidos por un solo driver (34 ganados, 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