PanVK-FristOneRR-V.3.7.0 vs Mali-G78
En la Mali-G78 (Google Pixel 6, Samsung Galaxy S21 5G, Samsung Galaxy S21 FE 5G, Samsung Galaxy S21 Ultra 5G, Samsung Galaxy S22). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
De fábricaMali-G78
vsPersonalizadoPanVK-FristOneRR-V.3.7.0
Versión del sistema gráfico (Vulkan)1.3.213 a 1.3.366
Funciones opcionales (extensiones)95 a 159+72 -8
Funciones que pasan su comprobación (validadas)29 a 5732 pasan solo en PanVK-FristOneRR-V.3.7.0 4 pasan solo en Mali-G78
Escenas de la prueba de velocidad (benchmark)sin escenas compartidas
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
Detalles de Mali-G78 Detalles de PanVK-FristOneRR-V.3.7.0
Comprobaciones de funciones que difieren (59)
| Función | De fábrica | Personalizado | Cambio |
|---|---|---|---|
| inlineUniformBlock | pasa | falla | perdido |
| transformFeedback | pasa | no admitida | perdido |
| drawIndirectFirstInstance | pasa | falla | perdido |
| geometryShader | pasa | no admitida | perdido |
| borderColorSwizzle | no admitida | pasa | ganado |
| colorWriteEnable | no admitida | pasa | ganado |
| depthClipControl | no admitida | pasa | ganado |
| extendedDynamicState | crash | 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 |
| vertexInputDynamicState | no admitida | pasa | ganado |
| shaderBufferInt64Atomics | no admitida | pasa | ganado |
| timelineSemaphore | falla | pasa | ganado |
| depthClamp | sin probar | pasa | ganado |
| compat.helper_loop_terminator | sin probar | pasa | ganado |
| compat.nested_map | sin probar | pasa | ganado |
| core.blend_advertised_formats | sin probar | pasa | ganado |
| core.compute_big_stack | sin probar | pasa | ganado |
| core.host_coherent_readback | sin probar | pasa | ganado |
| core.ubo_update_buffer | sin probar | pasa | ganado |
| core.varying_subset | sin probar | pasa | ganado |
| mem.image_padding | sin probar | pasa | ganado |
| perf.fb_local_barrier_large_draws | sin probar | pasa | ganado |
| perf.fb_local_barrier_overdraw | sin probar | pasa | ganado |
| push.max_combined_image_samplers | no admitida | pasa | ganado |
| push.max_uniform_buffers | no admitida | pasa | ganado |
| stress.many_command_buffers_one_submit | sin probar | pasa | ganado |
| stress.multi_draw_indirect_large | no admitida | pasa | ganado |
| stress.scratch_per_batch | sin probar | pasa | ganado |
| stress.spill_helper_lanes | sin probar | pasa | ganado |
| sync.first_submit_clear_then_compute | sin probar | pasa | ganado |
| borderColorSwizzleFromImage | no admitida | sin probar | cambió |
| depthBiasControl | no admitida | sin probar | cambió |
| depthBiasExact | no admitida | sin probar | cambió |
| extendedDynamicState2PatchControlPoints | sin probar | no admitida | cambió |
| extendedDynamicState3AlphaToCoverageEnable | 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ó |
| robustImageAccess2 | no admitida | falla | cambió |
| shaderSharedInt64Atomics | no admitida | sin probar | cambió |
| dualSrcBlend | no admitida | sin probar | cambió |
| fillModeNonSolid | no admitida | sin probar | cambió |
| largePoints | sin probar | falla | cambió |
| logicOp | no admitida | sin probar | cambió |
| multiDrawIndirect | no admitida | falla | cambió |
| shaderInt64 | no admitida | sin probar | cambió |
| wideLines | no admitida | sin probar | cambió |
| core.mrt_partial_kill | sin probar | falla | cambió |
| core.ubo_written_after_record | sin probar | falla | cambió |
| stage.geometry_max_output | sin probar | no admitida | cambió |
| stage.geometry_point_size | sin probar | no admitida | cambió |
Escenas de la prueba de velocidad (benchmark)
Ninguno de los dos drivers tiene aún una prueba de velocidad válida (informe de benchmark).
Diferencias técnicas (Vulkan)
Extensiones solo en PanVK-FristOneRR-V.3.7.0 (72)
- VK_ARM_scheduling_controls
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_border_color_swizzle
- 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_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_EXT_depth_clip_enable
- VK_EXT_device_address_binding_report
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_external_memory_host
- VK_EXT_graphics_pipeline_library
- VK_EXT_host_image_copy
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_image_view_min_lod
- VK_EXT_legacy_dithering
- VK_EXT_memory_budget
- VK_EXT_memory_priority
- VK_EXT_multi_draw
- VK_EXT_multisampled_render_to_single_sampled
- VK_EXT_mutable_descriptor_type
- VK_EXT_non_seamless_cube_map
- VK_EXT_physical_device_drm
- VK_EXT_pipeline_robustness
- VK_EXT_robustness2
- VK_EXT_shader_atomic_float
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_shader_tile_image
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_vertex_attribute_divisor
- VK_EXT_vertex_attribute_robustness
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_INTEL_shader_integer_functions2
- VK_KHR_calibrated_timestamps
- VK_KHR_draw_indirect_count
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_index_type_uint8
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_map_memory2
- VK_KHR_pipeline_executable_properties
- VK_KHR_pipeline_library
- VK_KHR_push_descriptor
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_clock
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_VALVE_mutable_descriptor_type
Extensiones solo en Mali-G78 (8)
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_fragment_density_map
- VK_EXT_fragment_density_map2
- VK_EXT_primitives_generated_query
- VK_EXT_rgba10x6_formats
- VK_EXT_transform_feedback
- VK_KHR_shared_presentable_image
- VK_KHR_swapchain_mutable_format
Funciones básicas que difieren (6)
| protectedMemory | pasa a no admitida |
| drawIndirectCount | no admitida a pasa |
| shaderBufferInt64Atomics | no admitida a pasa |
| shaderOutputLayer | no admitida a pasa |
| shaderOutputViewportIndex | pasa a no admitida |
| shaderSharedInt64Atomics | no admitida a pasa |
Límites que difieren (47)
| 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 | 65536 | 1048576 |
| maxStorageBufferRange | 268435456 | 4294967295 |
| bufferImageGranularity | 1 | 64 |
| 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 | 0 |
| maxGeometryInputComponents | 128 | 0 |
| maxGeometryOutputComponents | 128 | 0 |
| maxGeometryOutputVertices | 256 | 0 |
| maxGeometryTotalOutputComponents | 2048 | 0 |
| maxFragmentDualSrcAttachments | 0 | 8 |
| maxFragmentCombinedOutputResources | 1000008 | 4360 |
| maxComputeSharedMemorySize | 32768 | 49152 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxDrawIndirectCount | 1 | 4294967295 |
| maxSamplerLodBias | 255 | 127.996 |
| viewportSubPixelBits | 0 | 8 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 16 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| framebufferNoAttachmentsSampleCounts | 29 | 13 |
| timestampPeriod | 38.4615 | 1 |
| pointSizeRange | 1, 1024 | 0.125, 4095.94 |
| lineWidthRange | 1, 1 | 0, 7.99219 |
| lineWidthGranularity | 0 | 0.0078125 |
Formatos admitidos por un solo driver (21 ganados, 4 perdidos)
- A1B5G5R5_UNORM_PACK16
- A2R10G10B10_SNORM_PACK32
- A8_UNORM
- BC4_SNORM_BLOCK
- BC4_UNORM_BLOCK
- BC5_SNORM_BLOCK
- BC5_UNORM_BLOCK
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16
- G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
- G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
- G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
- G16_B16R16_2PLANE_420_UNORM
- G16_B16R16_2PLANE_422_UNORM
- G16_B16R16_2PLANE_444_UNORM
- G8_B8R8_2PLANE_444_UNORM
- R10X6G10X6_UNORM_2PACK16
- R10X6_UNORM_PACK16
- R64_SINT
- R64_UINT
- B5G5R5A1_UNORM_PACK16
- B8G8R8_SNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16