报告 #442 驱动检测
已认证,设备已锁定 有效
- GPU
- Adreno (TM) 750
- 驱动
- Qualcomm Technologies Inc. Adreno Vulkan Driver Driver Build: f6b5df5188, I29aebc4401, 1758283784 Date: 09/19/25 Compiler Version: E031.45.02.26 Driver Branch:
- 设备
- Samsung Galaxy Z Flip6
- 芯片
- SM8650
- CPU
- 2 x 2.27 GHz + 3 x 3.15 GHz + 2 x 2.96 GHz + 1 x 3.40 GHz, arm64-v8a
- 内存
- 10.9 GB
- 上报为
- samsung / SM-F741U
- 收到时间
- Android
- 16
测试框架检测 (1)
通过 harness.baseline_draw
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| drawn half | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
核心检测 (21)
通过 core.readback_same_command_buffer
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| drawn half | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 push.max_combined_image_samplers
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| combined image samplers pushed in one set (the driver's stated limit) | , | 32 | 通过 | |
| bytes changed in memory next to the driver's allocations | , | 0 | 通过 | |
| drawn half: the pushed texture | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 core.resubmit_command_buffer
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| first submit: drawn half | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| second submit of the same command buffer: drawn half | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| second submit of the same command buffer: cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 core.compute_udiv
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| 703787787 / 47721859 | , | [14] | [14] | 通过 |
| 703787787 % 47721859 | , | [35681761] | [35681761] | 通过 |
| 4294967295 / 2147483649 | , | [1] | [1] | 通过 |
| 4294967295 % 2147483649 | , | [2147483646] | [2147483646] | 通过 |
| 4294967295 / 3 | , | [1431655765] | [1431655765] | 通过 |
| 4294967295 % 3 | , | [0] | [0] | 通过 |
| 4000000000 / 3 | , | [1333333333] | [1333333333] | 通过 |
| 4000000000 % 3 | , | [1] | [1] | 通过 |
| 2147483648 / 65537 | , | [32767] | [32767] | 通过 |
| 2147483648 % 65537 | , | [32769] | [32769] | 通过 |
| 2147483647 / 46341 | , | [46340] | [46340] | 通过 |
| 2147483647 % 46341 | , | [41707] | [41707] | 通过 |
| 1000000007 / 31607 | , | [31638] | [31638] | 通过 |
| 1000000007 % 31607 | , | [17741] | [17741] | 通过 |
| 16777217 / 4097 | , | [4095] | [4095] | 通过 |
| 16777217 % 4097 | , | [2] | [2] | 通过 |
| 16777216 / 4096 | , | [4096] | [4096] | 通过 |
| 16777216 % 4096 | , | [0] | [0] | 通过 |
| 4294967295 / 4294967295 | , | [1] | [1] | 通过 |
| 4294967295 % 4294967295 | , | [0] | [0] | 通过 |
| 3000000000 / 1500000001 | , | [1] | [1] | 通过 |
| 3000000000 % 1500000001 | , | [1499999999] | [1499999999] | 通过 |
| 123456789 / 10007 | , | [12337] | [12337] | 通过 |
| 123456789 % 10007 | , | [430] | [430] | 通过 |
| 4294967294 / 2 | , | [2147483647] | [2147483647] | 通过 |
| 4294967294 % 2 | , | [0] | [0] | 通过 |
| 65536 / 65537 | , | [0] | [0] | 通过 |
| 65536 % 65537 | , | [65536] | [65536] | 通过 |
| 99999999 / 4294967295 | , | [0] | [0] | 通过 |
| 99999999 % 4294967295 | , | [99999999] | [99999999] | 通过 |
| 1 / 1 | , | [1] | [1] | 通过 |
| 1 % 1 | , | [0] | [0] | 通过 |
通过 core.texel_fetch_beside_ubo
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| left half: texel (1, 0) | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| right half: texel (0, 1) | 48,32 | [0, 0, 255, 255] | [0, 0, 255, 255] | 通过 |
通过 push.max_uniform_buffers
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| uniform buffers pushed in one set (the driver's stated limit) | , | 32 | 通过 | |
| bytes changed in memory next to the driver's allocations | , | 0 | 通过 | |
| drawn half: element 5 of the pushed buffer | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 limit.uniform_buffer_range
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| bytes in one uniform buffer binding (the driver's stated limit) | , | 65536 | 通过 | |
| bytes changed in memory next to the driver's allocations | , | 0 | 通过 | |
| drawn half: element 127 of the block | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 limit.dynamic_uniform_buffers
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| dynamic uniform buffers in one set, bound with as many offsets (the driver's stated limit) | , | 32 | 通过 | |
| bytes changed in memory next to the driver's allocations | , | 0 | 通过 | |
| drawn half: the block the dynamic offset selects | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 stress.multi_draw_indirect_large
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| draws in one vkCmdDrawIndirect call (capped by this check, below the stated limit) | , | 16384 | 通过 | |
| drawn half | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 stress.compute_after_render
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| wrong answers in 3200 divisions over 200 rounds | , | [0] | [0] | 通过 |
| the last render pass: drawn half | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
通过 stress.submit_memory
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| KiB of memory gained over 4000 submits (limit 16384) | , | 0 | 通过 | |
| the last submit: drawn half | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
失败 core.copy_wide_row_length
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| first copied row (the last green row) | 16,0 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| second copied row, 4,210,688 bytes later (the first black row) | 16,1 | [0, 0, 0, 255] | [127, 127, 127, 127] | 失败 |
通过 core.mediump_mul_extended
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| low half of 255 * 3 | , | [765] | [765] | 通过 |
| low half of 242 * 19 | , | [4598] | [4598] | 通过 |
| low half of 229 * 35 | , | [8015] | [8015] | 通过 |
| low half of 216 * 51 | , | [11016] | [11016] | 通过 |
| low half of 203 * 67 | , | [13601] | [13601] | 通过 |
| low half of 190 * 83 | , | [15770] | [15770] | 通过 |
| low half of 177 * 99 | , | [17523] | [17523] | 通过 |
| low half of 164 * 115 | , | [18860] | [18860] | 通过 |
| low half of 151 * 131 | , | [19781] | [19781] | 通过 |
| low half of 138 * 147 | , | [20286] | [20286] | 通过 |
| low half of 125 * 163 | , | [20375] | [20375] | 通过 |
| low half of 112 * 179 | , | [20048] | [20048] | 通过 |
| low half of 99 * 195 | , | [19305] | [19305] | 通过 |
| low half of 86 * 211 | , | [18146] | [18146] | 通过 |
| low half of 73 * 227 | , | [16571] | [16571] | 通过 |
| low half of 60 * 243 | , | [14580] | [14580] | 通过 |
| high half of the first product | , | [0] | [0] | 通过 |
通过 core.msaa_resolve
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| resolved image: drawn half | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| resolved image: cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 limit.color_attachments
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| colour attachments in one render pass (the driver's stated limit) | , | 8 | 通过 | |
| bytes changed in memory next to the driver's allocations | , | 0 | 通过 | |
| first attachment: drawn half | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| first attachment: cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 limit.vertex_input
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| vertex buffer bindings in one pipeline, bound in one call (the driver's stated limit) | , | 32 | 通过 | |
| vertex attributes in one pipeline (the driver's stated limit) | , | 32 | 通过 | |
| bytes changed in memory next to the driver's allocations | , | 0 | 通过 | |
| drawn half | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 limit.push_constants_size
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| push constant bytes pushed in one call (the driver's stated limit) | , | 256 | 通过 | |
| bytes changed in memory next to the driver's allocations | , | 0 | 通过 | |
| drawn half: the colour in the first 16 bytes | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 limit.per_stage_samplers
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| combined image samplers in one descriptor set, bound and drawn with (capped by this check, below the stated limit) | , | 4096 | 通过 | |
| bytes changed in memory next to the driver's allocations | , | 0 | 通过 | |
| drawn half: the texture in element 0 | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 limit.bound_descriptor_sets
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| descriptor sets bound in one call (the driver's stated limit) | , | 7 | 通过 | |
| bytes changed in memory next to the driver's allocations | , | 0 | 通过 | |
| drawn half: the texture in set 0 | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 stress.pipeline_cache_threads
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| every vkCreateGraphicsPipelines call returned VK_SUCCESS | , | 0 | 通过 | |
| pipelines asked for in 8 seconds, at least one from each thread | , | 1024 | 通过 | |
| pipelines built, the same number | , | 1024 | 通过 | |
| every save made while compiling returned VK_SUCCESS or VK_INCOMPLETE | , | 0 | 通过 | |
| saves made while compiling | , | 207 | 通过 | |
| bytes a save reported beyond the buffer size it was given | , | 0 | 通过 | |
| bytes a save wrote past the end of the buffer it was given | , | 0 | 通过 | |
| final save size in bytes holds a header | , | 1308471 | 通过 | |
| header names this device | , | 32 | 通过 | |
| drawn half, after every pipeline drew it | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
通过 stress.pipeline_threads_no_cache
| 检测 | 像素 | 预期 | 实际 | 一致 |
|---|---|---|---|---|
| every vkCreateGraphicsPipelines call returned VK_SUCCESS | , | 0 | 通过 | |
| pipelines asked for in 8 seconds, at least one from each thread | , | 1024 | 通过 | |
| pipelines built, the same number | , | 1024 | 通过 | |
| drawn half, after every pipeline drew it | 16,32 | [0, 255, 0, 255] | [0, 255, 0, 255] | 通过 |
| cleared half | 48,32 | [0, 0, 0, 255] | [0, 0, 0, 255] | 通过 |
功能结果
VkPhysicalDeviceFeatures(已测试 9 个)
geometryShader 通过tessellationShader 通过multiDrawIndirect 通过drawIndirectFirstInstance 通过multiViewport 通过textureCompressionETC2 通过textureCompressionASTC_LDR 通过textureCompressionBC 通过occlusionQueryPrecise 通过
VK_EXT_extended_dynamic_state(已测试 1 个)
extendedDynamicState 通过
VK_EXT_extended_dynamic_state2(已测试 2 个)
extendedDynamicState2 通过extendedDynamicState2LogicOp 通过
VK_EXT_vertex_input_dynamic_state(已测试 1 个)
vertexInputDynamicState 通过
VK_EXT_custom_border_color(已测试 1 个)
customBorderColors 通过
VK_EXT_border_color_swizzle(已测试 1 个)
borderColorSwizzle 通过
VK_EXT_depth_clip_control(已测试 1 个)
depthClipControl 通过
VK_EXT_transform_feedback(已测试 1 个)
transformFeedback 通过
VK_EXT_color_write_enable(已测试 1 个)
colorWriteEnable 通过
VK_EXT_inline_uniform_block(已测试 1 个)
inlineUniformBlock 通过
VK_KHR_timeline_semaphore(已测试 1 个)
timelineSemaphore 通过
VK_KHR_shader_atomic_int64(已测试 1 个)
shaderBufferInt64Atomics 通过
VK_EXT_robustness2(已测试 2 个)
robustBufferAccess2 通过robustImageAccess2 通过
不支持或没有检测项的功能不在此列出。