FauxVkDB
简体中文

报告 #327 驱动检测

无硬件证明(掌机) 有效

应用提示这台设备无法生成硬件证明(密钥认证)。游戏掌机厂商通常没有配置这一项,所以在掌机上很常见,与驱动本身无关。 这个型号的设备从未发送过硬件证明,所以本站按现状计入这份报告。它的结果可以列为领先,只有在带硬件证明的设备也一致时才会变成已确认。

GPU
Adreno (TM) 740
驱动
Qualcomm Technologies Inc. Adreno Vulkan Driver Driver Build: 1a285a84ae, I2991b7e11e, 1685945391 Date: 06/04/23 Compiler Version: E031.41.03.36 Driver Branch:
设备
AYN Odin2
芯片
QCS8550
CPU
3 x 2.02 GHz + 4 x 2.80 GHz + 1 x 3.19 GHz, arm64-v8a
内存
7.0 GB
上报为
AYN / Odin2
收到时间
Android
13

原始 JSON

测试框架检测 (1)

通过 harness.baseline_draw
检测像素预期实际一致
drawn half16,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,32[0, 0, 0, 255][0, 0, 0, 255]通过

核心检测 (21)

通过 core.readback_same_command_buffer
检测像素预期实际一致
drawn half16,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,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 texture16,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,32[0, 0, 0, 255][0, 0, 0, 255]通过
通过 core.resubmit_command_buffer
检测像素预期实际一致
first submit: drawn half16,32[0, 255, 0, 255][0, 255, 0, 255]通过
second submit of the same command buffer: drawn half16,32[0, 255, 0, 255][0, 255, 0, 255]通过
second submit of the same command buffer: cleared half48,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 buffer16,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,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 block16,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,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 selects16,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,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 half16,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,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 half16,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 half16,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 half16,32[0, 255, 0, 255][0, 255, 0, 255]通过
resolved image: cleared half48,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 half16,32[0, 255, 0, 255][0, 255, 0, 255]通过
first attachment: cleared half48,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 half16,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,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 bytes16,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,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 016,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,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 016,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,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,710通过
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,1291292通过
header names this device,32通过
drawn half, after every pipeline drew it16,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,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 it16,32[0, 255, 0, 255][0, 255, 0, 255]通过
cleared half48,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_depth_clip_control(已测试 1 个)
depthClipControl 通过
VK_EXT_transform_feedback(已测试 1 个)
transformFeedback 通过
VK_EXT_color_write_enable(已测试 1 个)
colorWriteEnable 通过
VK_KHR_timeline_semaphore(已测试 1 个)
timelineSemaphore 通过
VK_EXT_robustness2(已测试 2 个)
robustBufferAccess2 通过robustImageAccess2 通过

不支持或没有检测项的功能不在此列出。