FauxVkDB
简体中文
首页 / Mali-G57 / 对比

panvk_faux123_rg556_v0.12.0 对比 Mali-G57

在 Mali-G57 上 (Anbernic RG556, Redmi A5, TECNO KL4). 先列出的驱动与后一个对比,后一个是基准。

原厂Mali-G57v1.r40p0-01eac0.b0251c048237dcd59e6be15fba11a31a
对比
第三方panvk_faux123_rg556_v0.12.0Mesa 26.3.0-devel (git-7886eada08)
图形系统版本(Vulkan)1.3.225 → 1.3.354
可选功能(扩展)97 → 165+78 -10
通过检测的功能(已验证)29 → 4418 个仅在 panvk_faux123_rg556_v0.12.0 上通过 3 个仅在 Mali-G57 上通过
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch

Mali-G57 详情 panvk_faux123_rg556_v0.12.0 详情

结果不同的功能检测(35)

功能原厂第三方变化
transformFeedback
VK_EXT_transform_feedback
通过不支持减少
geometryShader
VkPhysicalDeviceFeatures
通过不支持减少
tessellationShader
VkPhysicalDeviceFeatures
通过不支持减少
colorWriteEnable
VK_EXT_color_write_enable
不支持通过新增
depthClipControl
VK_EXT_depth_clip_control
不支持通过新增
extendedDynamicState
VK_EXT_extended_dynamic_state
失败通过新增
extendedDynamicState2LogicOp
VK_EXT_extended_dynamic_state2
不支持通过新增
extendedDynamicState3ColorBlendEnable
VK_EXT_extended_dynamic_state3
不支持通过新增
extendedDynamicState3ColorBlendEquation
VK_EXT_extended_dynamic_state3
不支持通过新增
extendedDynamicState3ColorWriteMask
VK_EXT_extended_dynamic_state3
不支持通过新增
extendedDynamicState3DepthClampEnable
VK_EXT_extended_dynamic_state3
不支持通过新增
extendedDynamicState3LogicOpEnable
VK_EXT_extended_dynamic_state3
不支持通过新增
vertexInputDynamicState
VK_EXT_vertex_input_dynamic_state
不支持通过新增
shaderBufferInt64Atomics
VK_KHR_shader_atomic_int64
不支持通过新增
timelineSemaphore
VK_KHR_timeline_semaphore
失败通过新增
multiDrawIndirect
VkPhysicalDeviceFeatures
不支持通过新增
textureCompressionBC
VkPhysicalDeviceFeatures
不支持通过新增
push.max_combined_image_samplers
core
不支持通过新增
push.max_uniform_buffers
core
不支持通过新增
stress.multi_draw_indirect_large
core
不支持通过新增
stress.submit_memory
core
无结论通过新增
depthBiasControl
VK_EXT_depth_bias_control
不支持未检测有变化
depthBiasExact
VK_EXT_depth_bias_control
不支持未检测有变化
extendedDynamicState2PatchControlPoints
VK_EXT_extended_dynamic_state2
未检测不支持有变化
extendedDynamicState3AlphaToCoverageEnable
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3DepthClipEnable
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3LineRasterizationMode
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3RasterizationSamples
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3SampleMask
VK_EXT_extended_dynamic_state3
不支持未检测有变化
nullDescriptor
VK_EXT_robustness2
不支持未检测有变化
shaderSharedInt64Atomics
VK_KHR_shader_atomic_int64
不支持未检测有变化
dualSrcBlend
VkPhysicalDeviceFeatures
不支持未检测有变化
fillModeNonSolid
VkPhysicalDeviceFeatures
不支持未检测有变化
logicOp
VkPhysicalDeviceFeatures
不支持未检测有变化
wideLines
VkPhysicalDeviceFeatures
不支持未检测有变化

跑分测试场景(基准测试)

场景原厂 ms第三方 ms差异启动次数GPU 频率,MHz画面对比原厂
compute_nbody28.48 典型值 28.16n/a仅一侧有3 / 3 对比 3 / 3? 对比 ? 频率未知没有明显差异 0.0 没有细微差异 最差 0.3 64x36
oit_linked_listsn/an/a仅一侧有3 / 3 对比 3 / 3? 对比 ? 频率未知没有明显差异 0.0 没有细微差异 最差 0.0 64x36
pipeline_barriers32.14 典型值 10.32n/a仅一侧有3 / 3 对比 3 / 3? 对比 ? 频率未知没有明显差异 0.0 没有细微差异 最差 0.3 64x36
subpasses48.91 典型值 7.81n/a仅一侧有3 / 3 对比 3 / 3? 对比 ? 频率未知未检测

绘制一帧所需的时间,按场景统计:取该场景最佳一轮的平均帧时间,也就是驱动交付了多少帧;越低越快。旁边的“典型值”是中位帧,当驱动的帧分成两种速度时,它可能比平均值低很多。在记录每轮平均值之前生成的一对报告,改用中位数对比。各轮之间相差超过 15% 的场景会被排除。标为“被锁帧”的场景,是被驱动或显示队列锁在了那个平均帧时间上,并且同一次运行中至少还有另一个场景也是如此;它的耗时反映的是帧的间隔,而不是驱动渲染得有多快,所以不参与对比。标为“太轻”的场景,在标准尺寸(1920×1080)下两个驱动都不到 8 ms,此时屏幕的帧队列对帧间隔的影响比芯片更大;这时对比的是它更重的版本:以 _2160p 结尾的行是以 3840×2160 绘制的该场景,compute_nbody_2x 是粒子数翻倍的该场景。“更快”和“更慢”描述的是 panvk_faux123_rg556_v0.12.0 相对 Mali-G57。“画面对比原厂”把每个场景的一个固定帧按粗略的色块网格对比(0 为完全相同,超过 40 表示画面不同),用来找出没有被画出来的场景。如果两份报告都带有更细的 64×36 网格,第二个数字是其 2,304 个格子中有多少个差异超过 255 里的 4,“最差”是单个格子的最大差异;这能找出其余部分都一致的画面里的小渲染错误。标为 16x9 的行来自细网格出现之前生成的报告。“启动次数”是一个场景的进程启动中,有多少次进入了被测量的一轮。标为“不可比”的 GPU 频率,表示两次计时之间的差异超过设备最大频率的 5%。

技术差异(Vulkan)

仅 panvk_faux123_rg556_v0.12.0 有的扩展(78)
  • 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_buffer_device_address
  • VK_EXT_color_write_enable
  • 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_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_map_memory_placed
  • VK_EXT_memory_budget
  • 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_input_dynamic_state
  • 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_depth_clamp_zero_one
  • VK_KHR_draw_indirect_count
  • 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_binary
  • VK_KHR_pipeline_executable_properties
  • VK_KHR_pipeline_library
  • VK_KHR_push_descriptor
  • VK_KHR_robustness2
  • VK_KHR_shader_atomic_int64
  • VK_KHR_shader_clock
  • 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_unified_image_layouts
  • VK_KHR_vertex_attribute_divisor
  • VK_KHR_workgroup_memory_explicit_layout
  • VK_VALVE_mutable_descriptor_type
仅 Mali-G57 有的扩展(10)
  • VK_ARM_rasterization_order_attachment_access
  • VK_EXT_fragment_density_map
  • VK_EXT_fragment_density_map2
  • VK_EXT_image_compression_control
  • VK_EXT_primitives_generated_query
  • VK_EXT_rasterization_order_attachment_access
  • VK_EXT_rgba10x6_formats
  • VK_EXT_subpass_merge_feedback
  • VK_EXT_transform_feedback
  • VK_KHR_shared_presentable_image
不同的核心功能(5)
drawIndirectCount Vulkan 1.2不支持 → 通过
shaderBufferInt64Atomics Vulkan 1.2不支持 → 通过
shaderFloat16 Vulkan 1.2通过 → 不支持
shaderOutputViewportIndex Vulkan 1.2通过 → 不支持
shaderSharedInt64Atomics Vulkan 1.2不支持 → 通过
不同的限制(55)
限制原厂第三方
maxImageDimension1D1638465536
maxImageDimension2D1638465536
maxImageDimension3D1638465536
maxImageDimensionCube1638465536
maxImageArrayLayers409665536
maxTexelBufferElements268435456134217728
maxUniformBufferRange655361048576
maxStorageBufferRange2684354564294967295
maxMemoryAllocationCount163844294967295
bufferImageGranularity164
maxPerStageDescriptorSamplers5000001048576
maxPerStageDescriptorUniformBuffers361048576
maxPerStageDescriptorStorageBuffers5000001048576
maxPerStageDescriptorSampledImages5000001048576
maxPerStageDescriptorStorageImages5000001048576
maxPerStageResources5000005242889
maxDescriptorSetSamplers5000001048576
maxDescriptorSetUniformBuffers2161048576
maxDescriptorSetUniformBuffersDynamic3216
maxDescriptorSetStorageBuffers5000001048576
maxDescriptorSetStorageBuffersDynamic328
maxDescriptorSetSampledImages5000001048576
maxDescriptorSetStorageImages5000001048576
maxVertexInputAttributes3216
maxVertexInputBindings3216
maxVertexInputAttributeOffset20474294967295
maxVertexInputBindingStride204865535
maxTessellationGenerationLevel640
maxTessellationPatchSize320
maxTessellationControlPerVertexInputComponents1280
maxTessellationControlPerVertexOutputComponents1280
maxTessellationControlPerPatchOutputComponents1200
maxTessellationControlTotalOutputComponents40960
maxTessellationEvaluationInputComponents1280
maxTessellationEvaluationOutputComponents1280
maxGeometryShaderInvocations320
maxGeometryInputComponents1280
maxGeometryOutputComponents1280
maxGeometryOutputVertices2560
maxGeometryTotalOutputComponents20480
maxFragmentDualSrcAttachments08
maxFragmentCombinedOutputResources10000084360
maxComputeWorkGroupCount4294967295, 4294967295, 429496729565535, 65535, 65535
maxDrawIndirectCount165535
maxSamplerLodBias255127.996
minMemoryMapAlignment644096
minTexelBufferOffsetAlignment6416
minStorageBufferOffsetAlignment6416
subPixelInterpolationOffsetBits48
framebufferNoAttachmentsSampleCounts2913
timestampComputeAndGraphics10
timestampPeriod38.46150
pointSizeRange1, 10240.125, 4095.94
lineWidthRange1, 10, 7.99219
lineWidthGranularity00.0078125
只有一个驱动支持的格式(多了 25 种,少了 6 种)

仅 panvk_faux123_rg556_v0.12.0 有:

  • 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
  • R64_SINT
  • R64_UINT

仅 Mali-G57 有:

  • B5G5R5A1_UNORM_PACK16
  • B8G8R8G8_422_UNORM
  • B8G8R8_SNORM
  • G8B8G8R8_422_UNORM
  • R4G4_UNORM_PACK8
  • R5G5B5A1_UNORM_PACK16