PanVK-Strato-Mali-SAFETY-v4 vs Mali-G615 MC5
En la Mali-G615 MC2 (AIPLUS AI+ Nova 2 Ultra, Anbernic RG477M, Anbernic RG557, HEADWOLF F8, Infinix GT 30, Infinix GT 30 Pro, Infinix NOTE 50X 5G, iQOO Z11x 5G, Lenovo Idea Tab Pro, motorola edge - 2026, motorola edge 50 neo, motorola edge 60 pro, OPPO CPH2859, Oppo F31 Pro 5G, POCO X6 Pro 5G, POCO X6 Pro 5G, POCO X7, realme P4x 5G, Redmi Note 14 Pro 5G, REDMI Note 15 Pro 5G, TECNO CAMON 40, TECNO POVA 8 Pro 5G, vivo V60 Lite 5G, Xiaomi 14T). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
Detalles de Mali-G615 MC5 Detalles de PanVK-Strato-Mali-SAFETY-v4
Comprobaciones de funciones que difieren (58)
| Función | De fábrica | Personalizado | Cambio |
|---|---|---|---|
| depthClamp | pasa | sin probar | perdido |
| largePoints | pasa | sin probar | perdido |
| compat.helper_loop_terminator | pasa | sin probar | perdido |
| compat.nested_map | pasa | sin probar | perdido |
| core.blend_advertised_formats | pasa | sin probar | perdido |
| core.compute_big_stack | pasa | sin probar | perdido |
| core.host_coherent_readback | pasa | sin probar | perdido |
| core.mrt_partial_kill | pasa | sin probar | perdido |
| core.ubo_update_buffer | pasa | sin probar | perdido |
| core.ubo_written_after_record | pasa | sin probar | perdido |
| core.varying_subset | pasa | sin probar | perdido |
| mem.image_padding | pasa | sin probar | perdido |
| perf.fb_local_barrier_large_draws | pasa | sin probar | perdido |
| perf.fb_local_barrier_overdraw | pasa | sin probar | perdido |
| stage.geometry_max_output | pasa | sin probar | perdido |
| stress.many_command_buffers_one_submit | pasa | sin probar | perdido |
| stress.scratch_per_batch | pasa | sin probar | perdido |
| stress.spill_helper_lanes | pasa | sin probar | perdido |
| sync.first_submit_clear_then_compute | pasa | sin probar | perdido |
| colorWriteEnable | no admitida | pasa | ganado |
| depthClipControl | 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 |
| 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 |
| push.max_uniform_buffers | no admitida | pasa | ganado |
| depthBiasControl | no admitida | sin probar | cambió |
| depthBiasExact | no admitida | sin probar | cambió |
| extendedDynamicState3AlphaToCoverageEnable | no admitida | sin probar | cambió |
| extendedDynamicState3AlphaToOneEnable | no admitida | sin probar | cambió |
| extendedDynamicState3ConservativeRasterizationMode | no admitida | sin probar | cambió |
| extendedDynamicState3DepthClipEnable | no admitida | sin probar | cambió |
| extendedDynamicState3LineRasterizationMode | no admitida | sin probar | cambió |
| extendedDynamicState3RasterizationSamples | no admitida | sin probar | cambió |
| extendedDynamicState3SampleMask | no admitida | sin probar | cambió |
| nullDescriptor | no admitida | sin probar | cambió |
| geometryStreams | no admitida | sin probar | cambió |
| alphaToOne | no admitida | sin probar | cambió |
| depthBounds | no admitida | sin probar | cambió |
| dualSrcBlend | no admitida | sin probar | cambió |
| fillModeNonSolid | no admitida | sin probar | cambió |
| logicOp | no admitida | sin probar | cambió |
| pipelineStatisticsQuery | no admitida | sin probar | cambió |
| shaderClipDistance | no admitida | sin probar | cambió |
| shaderCullDistance | no admitida | sin probar | cambió |
| shaderTessellationAndGeometryPointSize | no admitida | sin probar | cambió |
| variableMultisampleRate | no admitida | sin probar | cambió |
| vertexPipelineStoresAndAtomics | no admitida | sin probar | cambió |
| wideLines | no admitida | sin probar | cambió |
| push.max_combined_image_samplers | no admitida | falla | cambió |
| stage.geometry_point_size | 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 | n/a | 20.00 | solo un lado | ? vs 3 de 3 | ? vs ? | sin comprobar |
| hdr_2160p | n/a | 34.87 | solo un lado | ? vs 3 de 3 | ? vs ? | sin comprobar |
| oit_linked_lists | n/a | 28.16 | solo un lado | ? vs 3 de 3 | ? vs ? | sin comprobar |
| pipeline_barriers | n/a | 14.14 | solo un lado | ? vs 3 de 3 | ? vs ? | sin comprobar |
| subpasses | n/a | 22.23 | solo un lado | ? vs 3 de 3 | ? vs ? | sin comprobar |
Diferencias técnicas (Vulkan)
Extensiones solo en PanVK-Strato-Mali-SAFETY-v4 (81)
- 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_conditional_rendering
- VK_EXT_debug_marker
- VK_EXT_depth_bias_control
- VK_EXT_depth_clamp_control
- VK_EXT_depth_clip_control
- VK_EXT_depth_clip_enable
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_graphics_pipeline_library
- VK_EXT_hdr_metadata
- VK_EXT_host_image_copy
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_image_view_min_lod
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_memory_priority
- VK_EXT_multi_draw
- VK_EXT_mutable_descriptor_type
- VK_EXT_nested_command_buffer
- VK_EXT_non_seamless_cube_map
- VK_EXT_pageable_device_local_memory
- VK_EXT_physical_device_drm
- VK_EXT_present_timing
- 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_uniform_buffer_unsized_array
- VK_EXT_vertex_attribute_divisor
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_ycbcr_2plane_444_formats
- VK_EXT_ycbcr_image_arrays
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_GOOGLE_user_type
- VK_KHR_calibrated_timestamps
- VK_KHR_compute_shader_derivatives
- VK_KHR_cooperative_matrix
- VK_KHR_copy_memory_indirect
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_index_type_uint8
- VK_KHR_internally_synchronized_queues
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_map_memory2
- 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_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_fma
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_untyped_pointers
- VK_KHR_swapchain_maintenance1
- VK_KHR_unified_image_layouts
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_VALVE_mutable_descriptor_type
Extensiones solo en Mali-G615 MC5 (11)
- VK_EXT_device_fault
- VK_EXT_fragment_density_map
- VK_EXT_fragment_density_map2
- VK_EXT_image_compression_control_swapchain
- VK_EXT_pipeline_protected_access
- VK_EXT_subpass_merge_feedback
- VK_KHR_acceleration_structure
- VK_KHR_deferred_host_operations
- VK_KHR_fragment_shading_rate
- VK_KHR_ray_query
- VK_KHR_shared_presentable_image
Funciones básicas que difieren (17)
| protectedMemory | 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 (51)
| Límite | De fábrica | Personalizado |
|---|---|---|
| maxImageDimension1D | 16384 | 65536 |
| maxImageDimension2D | 16384 | 65536 |
| maxImageDimension3D | 16384 | 65536 |
| maxImageDimensionCube | 16384 | 65536 |
| maxImageArrayLayers | 4096 | 65536 |
| maxTexelBufferElements | 268435456 | 134217728 |
| maxUniformBufferRange | 2147483648 | 1048576 |
| maxStorageBufferRange | 2147483648 | 4294967295 |
| maxMemoryAllocationCount | 16384 | 4294967295 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 0 | 140737454800896 |
| maxPerStageDescriptorSamplers | 500000 | 1048576 |
| maxPerStageDescriptorUniformBuffers | 36 | 1048576 |
| maxPerStageDescriptorStorageBuffers | 500000 | 1048576 |
| maxPerStageDescriptorSampledImages | 500000 | 1048576 |
| maxPerStageDescriptorStorageImages | 500000 | 1048576 |
| maxPerStageResources | 500000 | 5242889 |
| maxDescriptorSetSamplers | 500000 | 1048576 |
| maxDescriptorSetUniformBuffers | 216 | 1048576 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffers | 500000 | 1048576 |
| maxDescriptorSetStorageBuffersDynamic | 32 | 8 |
| maxDescriptorSetSampledImages | 500000 | 1048576 |
| maxDescriptorSetStorageImages | 500000 | 1048576 |
| maxVertexInputAttributes | 32 | 16 |
| maxVertexInputBindings | 32 | 16 |
| maxVertexInputAttributeOffset | 2047 | 4294967295 |
| maxVertexInputBindingStride | 2048 | 65535 |
| maxGeometryShaderInvocations | 32 | 64 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryTotalOutputComponents | 2048 | 1024 |
| maxFragmentDualSrcAttachments | 0 | 8 |
| maxFragmentCombinedOutputResources | 1000008 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxSamplerLodBias | 126 | 127.996 |
| maxViewports | 1 | 16 |
| maxViewportDimensions | 16384, 16384 | 65536, 65536 |
| viewportBoundsRange | -32768, 32767 | -131072, 131071 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| maxFramebufferWidth | 16384 | 65536 |
| maxFramebufferHeight | 16384 | 65536 |
| maxClipDistances | 0 | 8 |
| maxCullDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| pointSizeRange | 1, 1024 | 0.125, 4095.94 |
| lineWidthRange | 1, 1 | 0, 7.99219 |
| lineWidthGranularity | 0 | 0.0078125 |
Formatos admitidos por un solo driver (23 ganados, 7 perdidos)
- A1B5G5R5_UNORM_PACK16
- A2R10G10B10_SNORM_PACK32
- A8_UNORM
- 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
- B5G5R5A1_UNORM_PACK16
- B8G8R8G8_422_UNORM
- B8G8R8_SNORM
- G8B8G8R8_422_UNORM
- G8_B8_R8_3PLANE_444_UNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16