turnip_mrpurple_T30-toasted vs Qualcomm Technologies Inc. Adreno Vulkan Driver
En la Adreno (TM) 640 (Samsung Galaxy Note10+, Samsung Galaxy S10+, Samsung Galaxy S10+, Xiaomi Pad 5). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
- hdr_2160p9% más lento
- oit_linked_lists1% más rápido
- pipeline_barriers81% más rápido
- subpasses3% más lento
Pequeñas zonas de la imagen difieren del driver de fábrica en 1 escena (pipeline_barriers: 1562 de 2304 celdas). La imagen coincide en general, así que es un fallo de renderizado local, no una escena distinta.
No arrancó todas las veces: compute_nbody (de fábrica 3 de 3, personalizado 0 de 3).
Detalles de Qualcomm Technologies Inc. Adreno Vulkan Driver Detalles de turnip_mrpurple_T30-toasted
Comprobaciones de funciones que difieren (44)
| Función | De fábrica | Personalizado | Cambio |
|---|---|---|---|
| core.compute_udiv | pasa | falla | perdido |
| borderColorSwizzle | no admitida | pasa | ganado |
| colorWriteEnable | no admitida | pasa | ganado |
| customBorderColors | no admitida | pasa | ganado |
| depthClipControl | no admitida | pasa | ganado |
| extendedDynamicState | 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 |
| transformFeedback | no admitida | pasa | ganado |
| vertexInputDynamicState | no admitida | pasa | ganado |
| timelineSemaphore | no admitida | pasa | ganado |
| multiViewport | no admitida | pasa | ganado |
| textureCompressionBC | no admitida | pasa | ganado |
| limit.color_attachments | 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ó |
| extendedDynamicState3SampleMask | no admitida | sin probar | cambió |
| extendedDynamicState3TessellationDomainOrigin | no admitida | sin probar | cambió |
| descriptorBindingInlineUniformBlockUpdateAfterBind | no admitida | sin probar | cambió |
| nullDescriptor | no admitida | sin probar | cambió |
| geometryStreams | 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 | 34.38 | n/a | solo un lado | 3 de 3 vs 0 de 3 | ? vs ? | sin comprobar |
| hdr_2160p | 109.92 | 120.29 | 9% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| oit_linked_lists | 41.06 | 40.71 | 1% más rápido | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| pipeline_barriers | 14.38 | 7.94 | 81% más rápido | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia difiere en 1562 zonas pequeñas |
| pipeline_barriers_2160p | n/a | 28.96 | solo un lado | ? vs 3 de 3 | ? vs ? | sin comprobar |
| subpasses | 24.59 | 25.27 | 3% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin comprobar |
Diferencias técnicas (Vulkan)
Extensiones solo en turnip_mrpurple_T30-toasted (98)
- 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_descriptor_indexing
- VK_EXT_device_address_binding_report
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state
- 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_robustness
- 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_private_data
- VK_EXT_provoking_vertex
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_robustness2
- VK_EXT_shader_atomic_float
- VK_EXT_shader_demote_to_helper_invocation
- 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_transform_feedback
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- 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_imageless_framebuffer
- 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_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_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_terminate_invocation
- VK_KHR_synchronization2
- VK_KHR_timeline_semaphore
- 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_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
Extensiones solo en Qualcomm Technologies Inc. Adreno Vulkan Driver (3)
- VK_KHR_shared_presentable_image
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
Funciones básicas que difieren (75)
| multiview | no admitida a pasa |
| samplerYcbcrConversion | no admitida a pasa |
| shaderDrawParameters | 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 |
| 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 (36)
| 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 |
| maxComputeSharedMemorySize | 32768 | 65536 |
| maxComputeWorkGroupInvocations | 1024 | 2048 |
| maxComputeWorkGroupSize | 1024, 1024, 64 | 1024, 1024, 1024 |
| maxViewports | 1 | 16 |
| minMemoryMapAlignment | 64 | 4096 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| timestampPeriod | 52.0833 | 33.1126 |
| discreteQueuePriorities | 3 | 2 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
Formatos admitidos por un solo driver (50 ganados, 0 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_RGBA_UNORM_BLOCK
- BC1_RGB_SRGB_BLOCK
- BC1_RGB_UNORM_BLOCK
- BC2_SRGB_BLOCK
- BC2_UNORM_BLOCK
- BC3_SRGB_BLOCK
- BC3_UNORM_BLOCK
- BC4_SNORM_BLOCK
- BC4_UNORM_BLOCK
- BC5_SNORM_BLOCK
- BC5_UNORM_BLOCK
- BC6H_SFLOAT_BLOCK
- BC6H_UFLOAT_BLOCK
- BC7_SRGB_BLOCK
- BC7_UNORM_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
- Ninguno