turnip_faux123_v1.1.9-rc14 vs Qualcomm Technologies Inc. Adreno Vulkan Driver
En la Adreno (TM) 660 (Asus ROG Phone 5 series, Razer Edge, Samsung Galaxy S21 Ultra 5G, Samsung Galaxy S21+ 5G, Sony Xperia PRO-I). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
- compute_nbody8% más lento
- hdr_2160p15% más lento
- oit_linked_lists4% más lento
- pipeline_barriers_2160p88% más rápido
- subpasses130% más rápido
Pequeñas zonas de la imagen difieren del driver de fábrica en 1 escena (pipeline_barriers: 1199 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 1 de estas escenas (por ejemplo compute_nbody: de fábrica al 100% del máximo del dispositivo, personalizado al 83%). Parte de la diferencia en el tiempo por fotograma viene del reloj que eligió el dispositivo, no del driver.
Detalles de Qualcomm Technologies Inc. Adreno Vulkan Driver Detalles de turnip_faux123_v1.1.9-rc14
Comprobaciones de funciones que difieren (40)
| Función | De fábrica | Personalizado | Cambio |
|---|---|---|---|
| borderColorSwizzle | no admitida | pasa | ganado |
| colorWriteEnable | no admitida | pasa | ganado |
| customBorderColors | 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 |
| robustBufferAccess2 | no admitida | pasa | ganado |
| robustImageAccess2 | no admitida | pasa | ganado |
| vertexInputDynamicState | no admitida | pasa | ganado |
| multiViewport | no admitida | pasa | ganado |
| textureCompressionBC | no admitida | pasa | ganado |
| core.copy_wide_row_length | falla | pasa | ganado |
| borderColorSwizzleFromImage | no admitida | sin probar | cambió |
| customBorderColorWithoutFormat | 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ó |
| nullDescriptor | no admitida | sin probar | cambió |
| logicOp | no admitida | sin probar | cambió |
| shaderInt64 | no admitida | sin probar | cambió |
| shaderResourceMinLod | no admitida | sin probar | cambió |
| shaderTessellationAndGeometryPointSize | 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.62 | 12.65 | 8% más lento | 3 de 3 vs 3 de 3 | 840 vs 697 no comparable | sin gran diferencia sin diferencia pequeña |
| hdr_2160p | 58.90 | 69.31 | 15% más lento | 3 de 3 vs 3 de 3 | 840 vs 809 | sin gran diferencia sin diferencia pequeña |
| oit_linked_lists | 29.63 | 30.88 | 4% más lento | 3 de 3 vs 3 de 3 | 840 vs 840 | sin gran diferencia sin diferencia pequeña |
| pipeline_barriers | 8.21 | 3.78 | demasiado ligera, ver pipeline_barriers_2160p | 3 de 3 vs 3 de 3 | 774 vs 792 | sin gran diferencia difiere en 1199 zonas pequeñas |
| pipeline_barriers_2160p | 27.06 | 14.42 | 88% más rápido | ? vs 3 de 3 | ? vs 745 | sin comprobar |
| subpasses | 14.23 | 6.18 | 130% más rápido | 3 de 3 vs 3 de 3 | 840 vs 819 | sin comprobar |
| subpasses_2160p | n/a | 23.48 | solo un lado | ? vs 3 de 3 | ? vs 775 | sin comprobar |
Diferencias técnicas (Vulkan)
Extensiones solo en turnip_faux123_v1.1.9-rc14 (95)
- 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_border_color
- 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_primitive_topology_list_restart
- VK_EXT_primitives_generated_query
- VK_EXT_provoking_vertex
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_robustness2
- VK_EXT_shader_atomic_float
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_shader_subgroup_vote
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_shader_viewport_index_layer
- VK_EXT_texel_buffer_alignment
- 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_copy_commands2
- 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_executable_properties
- 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_non_semantic_info
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_terminate_invocation
- VK_KHR_synchronization2
- 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_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
Extensiones solo en Qualcomm Technologies Inc. Adreno Vulkan Driver (6)
- 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
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 (34)
| Límite | De fábrica | Personalizado |
|---|---|---|
| maxStorageBufferRange | 536870912 | 134217728 |
| 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 |
| 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 admitidos por un solo driver (39 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
- BC1_RGBA_SRGB_BLOCK
- BC1_RGB_SRGB_BLOCK
- BC2_SRGB_BLOCK
- BC3_SRGB_BLOCK
- BC7_SRGB_BLOCK
- 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