PanVK-Droid.0.3.5 vs panvk_faux123_v1.0.2
En la Mali-G52 (CHUWI HiPad-Air, HONOR X5c, HONOR X5c, Infinix HOT 60i, Oppo A18, Oppo A38, realme RMX3710, Redmi 12, Redmi 12C, Redmi 14C, Redmi 15C, TECNO POVA 3, TECNO SPARK 20, Xiaomi 24049RN28L). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
De fábricapanvk_faux123_v1.0.2
vsPersonalizadoPanVK-Droid.0.3.5
Versión del sistema gráfico (Vulkan)1.3.363 a 1.3.278
Funciones opcionales (extensiones)159 a 131+18 -46
Funciones que pasan su comprobación (validadas)39 a 346 pasan solo en PanVK-Droid.0.3.5 11 pasan solo en panvk_faux123_v1.0.2
Escenas de la prueba de velocidad (benchmark)3 más rápidas 0 más lentas22% más rápido 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
- compute_nbody28% más rápido
- pipeline_barriers25% más rápido
- subpasses14% más rápido
Pequeñas zonas de la imagen difieren del driver de fábrica en 1 escena (pipeline_barriers: 1326 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: hdr_2160p (de fábrica 0 de 3, personalizado 3 de 3).
Detalles de panvk_faux123_v1.0.2 Detalles de PanVK-Droid.0.3.5
Comprobaciones de funciones que difieren (28)
| Función | panvk_faux123_v1.0.2 | PanVK-Droid.0.3.5 | Cambio |
|---|---|---|---|
| colorWriteEnable | pasa | no admitida | perdido |
| depthClipControl | pasa | no admitida | perdido |
| extendedDynamicState2LogicOp | pasa | no admitida | perdido |
| extendedDynamicState3ColorBlendEnable | pasa | no admitida | perdido |
| extendedDynamicState3ColorBlendEquation | pasa | no admitida | perdido |
| extendedDynamicState3ColorWriteMask | pasa | no admitida | perdido |
| extendedDynamicState3DepthClampEnable | pasa | no admitida | perdido |
| extendedDynamicState3LogicOpEnable | pasa | no admitida | perdido |
| textureCompressionBC | pasa | no admitida | perdido |
| push.max_combined_image_samplers | pasa | no admitida | perdido |
| push.max_uniform_buffers | pasa | no admitida | perdido |
| transformFeedback | no admitida | pasa | ganado |
| shaderBufferInt64Atomics | no admitida | pasa | ganado |
| geometryShader | no admitida | pasa | ganado |
| occlusionQueryPrecise | falla | pasa | ganado |
| tessellationShader | no admitida | pasa | ganado |
| limit.uniform_buffer_range | falla | pasa | ganado |
| customBorderColorWithoutFormat | no admitida | sin probar | cambió |
| depthBiasControl | sin probar | no admitida | cambió |
| depthBiasExact | sin probar | no admitida | cambió |
| extendedDynamicState2PatchControlPoints | no admitida | sin probar | cambió |
| extendedDynamicState3AlphaToCoverageEnable | sin probar | no admitida | cambió |
| extendedDynamicState3DepthClipEnable | sin probar | no admitida | cambió |
| extendedDynamicState3ProvokingVertexMode | no admitida | sin probar | cambió |
| extendedDynamicState3RasterizationSamples | sin probar | no admitida | cambió |
| extendedDynamicState3TessellationDomainOrigin | no admitida | sin probar | cambió |
| shaderSharedInt64Atomics | no admitida | sin probar | cambió |
| depthClamp | sin probar | no admitida | cambió |
Escenas de la prueba de velocidad (benchmark)
| Escena | panvk_faux123_v1.0.2 ms | PanVK-Droid.0.3.5 ms | Diferencia | Arranques | Reloj de la GPU, MHz | Imagen vs de fábrica |
|---|---|---|---|---|---|---|
| compute_nbody | 103.48 | 80.79 | 28% más rápido | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| hdr_2160p | n/a | 173.86 | solo un lado | 0 de 3 vs 3 de 3 | ? vs ? | sin comprobar |
| oit_linked_lists | n/a | n/a | solo un lado | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| pipeline_barriers | 82.97 | 66.50 | 25% más rápido | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia difiere en 1326 zonas pequeñas |
| subpasses | 145.89 | 127.93 | 14% más rápido | 3 de 3 vs 3 de 3 | ? vs ? | sin comprobar |
Diferencias técnicas (Vulkan)
Extensiones solo en PanVK-Droid.0.3.5 (18)
- VK_ANDROID_external_format_resolve
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_device_fault
- VK_EXT_frame_boundary
- VK_EXT_image_compression_control_swapchain
- VK_EXT_pipeline_protected_access
- VK_EXT_primitives_generated_query
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_rgba10x6_formats
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_tile_image
- VK_EXT_subpass_merge_feedback
- VK_EXT_transform_feedback
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shared_presentable_image
Extensiones solo en panvk_faux123_v1.0.2 (46)
- VK_ARM_scheduling_controls
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_buffer_device_address
- VK_EXT_color_write_enable
- VK_EXT_depth_bias_control
- VK_EXT_depth_clamp_control
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_EXT_depth_clip_enable
- VK_EXT_graphics_pipeline_library
- VK_EXT_hdr_metadata
- VK_EXT_host_image_copy
- VK_EXT_image_view_min_lod
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_non_seamless_cube_map
- VK_EXT_physical_device_drm
- VK_EXT_present_timing
- VK_EXT_shader_atomic_float
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_vertex_attribute_divisor
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_internally_synchronized_queues
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_pipeline_executable_properties
- VK_KHR_pipeline_library
- VK_KHR_present_id
- VK_KHR_present_id2
- VK_KHR_present_wait
- VK_KHR_present_wait2
- VK_KHR_push_descriptor
- VK_KHR_shader_clock
- VK_KHR_shader_constant_data
- VK_KHR_shader_fma
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_swapchain_maintenance1
- VK_KHR_swapchain_mutable_format
- VK_KHR_unified_image_layouts
- VK_KHR_workgroup_memory_explicit_layout
Funciones básicas que difieren (16)
| descriptorBindingVariableDescriptorCount | pasa a no admitida |
| runtimeDescriptorArray | pasa a no admitida |
| shaderBufferInt64Atomics | no admitida a pasa |
| shaderFloat16 | no admitida a pasa |
| shaderInputAttachmentArrayDynamicIndexing | pasa a no admitida |
| shaderInputAttachmentArrayNonUniformIndexing | pasa a no admitida |
| shaderOutputViewportIndex | no admitida a pasa |
| shaderSampledImageArrayNonUniformIndexing | pasa a no admitida |
| shaderSharedInt64Atomics | no admitida a pasa |
| shaderStorageBufferArrayNonUniformIndexing | pasa a no admitida |
| shaderStorageImageArrayNonUniformIndexing | pasa a no admitida |
| shaderStorageTexelBufferArrayDynamicIndexing | pasa a no admitida |
| shaderStorageTexelBufferArrayNonUniformIndexing | pasa a no admitida |
| shaderUniformBufferArrayNonUniformIndexing | pasa a no admitida |
| shaderUniformTexelBufferArrayDynamicIndexing | pasa a no admitida |
| shaderUniformTexelBufferArrayNonUniformIndexing | pasa a no admitida |
Límites que difieren (53)
| Límite | panvk_faux123_v1.0.2 | PanVK-Droid.0.3.5 |
|---|---|---|
| maxImageDimension1D | 65536 | 16384 |
| maxImageDimension2D | 65536 | 16384 |
| maxImageDimension3D | 65536 | 16384 |
| maxImageDimensionCube | 65536 | 16384 |
| maxImageArrayLayers | 65536 | 4096 |
| maxTexelBufferElements | 134217728 | 268435456 |
| maxUniformBufferRange | 1048576 | 65536 |
| maxStorageBufferRange | 4294967295 | 2147483648 |
| maxMemoryAllocationCount | 4294967295 | 16384 |
| bufferImageGranularity | 64 | 1 |
| sparseAddressSpaceSize | 17146314752 | 0 |
| maxPerStageDescriptorUniformBuffers | 223 | 241 |
| maxPerStageDescriptorStorageBuffers | 64 | 35 |
| maxPerStageDescriptorStorageImages | 32 | 21 |
| maxPerStageResources | 712 | 570 |
| maxDescriptorSetSamplers | 65535 | 768 |
| maxDescriptorSetUniformBuffers | 223 | 1446 |
| maxDescriptorSetUniformBuffersDynamic | 16 | 32 |
| maxDescriptorSetStorageBuffers | 4096 | 210 |
| maxDescriptorSetStorageBuffersDynamic | 8 | 32 |
| maxDescriptorSetSampledImages | 65535 | 1536 |
| maxDescriptorSetStorageImages | 256 | 126 |
| maxVertexInputAttributes | 16 | 32 |
| maxVertexInputBindings | 16 | 32 |
| maxVertexInputAttributeOffset | 4294967295 | 2047 |
| maxVertexInputBindingStride | 65535 | 2048 |
| maxTessellationGenerationLevel | 0 | 64 |
| maxTessellationPatchSize | 0 | 32 |
| maxTessellationControlPerVertexInputComponents | 0 | 128 |
| maxTessellationControlPerVertexOutputComponents | 0 | 128 |
| maxTessellationControlPerPatchOutputComponents | 0 | 120 |
| maxTessellationControlTotalOutputComponents | 0 | 4096 |
| maxTessellationEvaluationInputComponents | 0 | 128 |
| maxTessellationEvaluationOutputComponents | 0 | 128 |
| maxGeometryShaderInvocations | 0 | 32 |
| maxGeometryInputComponents | 0 | 128 |
| maxGeometryOutputComponents | 0 | 128 |
| maxGeometryOutputVertices | 0 | 256 |
| maxGeometryTotalOutputComponents | 0 | 2048 |
| maxFragmentCombinedOutputResources | 4360 | 64 |
| maxComputeWorkGroupCount | 65535, 65535, 65535 | 4294967295, 4294967295, 4294967295 |
| maxSamplerLodBias | 127.996 | 126 |
| minMemoryMapAlignment | 4096 | 64 |
| minTexelBufferOffsetAlignment | 16 | 64 |
| minStorageBufferOffsetAlignment | 16 | 64 |
| maxInterpolationOffset | 0.5 | 0.4375 |
| subPixelInterpolationOffsetBits | 8 | 4 |
| framebufferNoAttachmentsSampleCounts | 5 | 29 |
| timestampComputeAndGraphics | 0 | 1 |
| timestampPeriod | 0 | 76.9231 |
| pointSizeRange | 0.125, 4095.94 | 1, 1024 |
| lineWidthRange | 0, 7.99219 | 1, 4095.94 |
| lineWidthGranularity | 0.0078125 | 0.0625 |
Formatos admitidos por un solo driver (12 ganados, 21 perdidos)
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
- B5G5R5A1_UNORM_PACK16
- B8G8R8G8_422_UNORM
- B8G8R8_SNORM
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- G8B8G8R8_422_UNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16
- R64_SINT
- R64_UINT
- A2R10G10B10_SNORM_PACK32
- 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
- G16_B16R16_2PLANE_420_UNORM
- G16_B16R16_2PLANE_422_UNORM
- G16_B16R16_2PLANE_444_UNORM
- G8_B8R8_2PLANE_444_UNORM