Why unverified: The report arrived without a hardware proof the site could check (key attestation). A device of this maker is expected to send one, so the report is not counted. A later upload from this device may carry it.
draw time with edge helpers, ms (information only: helpers that keep running the bounded loop for a later texture() are conformant; leaving early is an optional optimization; within 3 x control 1.09 ms + 20)
,
0.91
pass
passpush.max_combined_image_samplers
Check
Pixel
Expected
Got
Match
combined image samplers pushed in one set (the driver's stated limit)
,
32
pass
bytes changed in memory next to the driver's allocations
,
0
pass
drawn half: the pushed texture
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passcore.resubmit_command_buffer
Check
Pixel
Expected
Got
Match
first submit: drawn half
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
second submit of the same command buffer: drawn half
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
second submit of the same command buffer: cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passcore.compute_udiv
Check
Pixel
Expected
Got
Match
703787787 / 47721859
,
[14]
[14]
pass
703787787 % 47721859
,
[35681761]
[35681761]
pass
4294967295 / 2147483649
,
[1]
[1]
pass
4294967295 % 2147483649
,
[2147483646]
[2147483646]
pass
4294967295 / 3
,
[1431655765]
[1431655765]
pass
4294967295 % 3
,
[0]
[0]
pass
4000000000 / 3
,
[1333333333]
[1333333333]
pass
4000000000 % 3
,
[1]
[1]
pass
2147483648 / 65537
,
[32767]
[32767]
pass
2147483648 % 65537
,
[32769]
[32769]
pass
2147483647 / 46341
,
[46340]
[46340]
pass
2147483647 % 46341
,
[41707]
[41707]
pass
1000000007 / 31607
,
[31638]
[31638]
pass
1000000007 % 31607
,
[17741]
[17741]
pass
16777217 / 4097
,
[4095]
[4095]
pass
16777217 % 4097
,
[2]
[2]
pass
16777216 / 4096
,
[4096]
[4096]
pass
16777216 % 4096
,
[0]
[0]
pass
4294967295 / 4294967295
,
[1]
[1]
pass
4294967295 % 4294967295
,
[0]
[0]
pass
3000000000 / 1500000001
,
[1]
[1]
pass
3000000000 % 1500000001
,
[1499999999]
[1499999999]
pass
123456789 / 10007
,
[12337]
[12337]
pass
123456789 % 10007
,
[430]
[430]
pass
4294967294 / 2
,
[2147483647]
[2147483647]
pass
4294967294 % 2
,
[0]
[0]
pass
65536 / 65537
,
[0]
[0]
pass
65536 % 65537
,
[65536]
[65536]
pass
99999999 / 4294967295
,
[0]
[0]
pass
99999999 % 4294967295
,
[99999999]
[99999999]
pass
1 / 1
,
[1]
[1]
pass
1 % 1
,
[0]
[0]
pass
passcore.texel_fetch_beside_ubo
Check
Pixel
Expected
Got
Match
left half: texel (1, 0)
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
right half: texel (0, 1)
48,32
[0, 0, 255, 255]
[0, 0, 255, 255]
pass
passpush.max_uniform_buffers
Check
Pixel
Expected
Got
Match
uniform buffers pushed in one set (the driver's stated limit)
,
32
pass
bytes changed in memory next to the driver's allocations
,
0
pass
drawn half: element 5 of the pushed buffer
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passlimit.uniform_buffer_range
Check
Pixel
Expected
Got
Match
bytes in one uniform buffer binding (the driver's stated limit)
,
1048576
pass
bytes changed in memory next to the driver's allocations
,
0
pass
drawn half: element 127 of the block
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passlimit.dynamic_uniform_buffers
Check
Pixel
Expected
Got
Match
dynamic uniform buffers in one set, bound with as many offsets (the driver's stated limit)
,
16
pass
bytes changed in memory next to the driver's allocations
,
0
pass
drawn half: the block the dynamic offset selects
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passstress.multi_draw_indirect_large
Check
Pixel
Expected
Got
Match
draws in one vkCmdDrawIndirect call (capped by this check, below the stated limit)
,
16384
pass
drawn half
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passstress.compute_after_render
Check
Pixel
Expected
Got
Match
wrong answers in 3200 divisions over 200 rounds
,
[0]
[0]
pass
the last render pass: drawn half
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
passstress.submit_memory
Check
Pixel
Expected
Got
Match
KiB of memory gained over 4000 submits (limit 16384)
,
0
pass
the last submit: drawn half
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
passcore.copy_wide_row_length
Check
Pixel
Expected
Got
Match
first copied row (the last green row)
16,0
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
second copied row, 4,210,688 bytes later (the first black row)
16,1
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passcore.mediump_mul_extended
Check
Pixel
Expected
Got
Match
low half of 255 * 3
,
[765]
[765]
pass
low half of 242 * 19
,
[4598]
[4598]
pass
low half of 229 * 35
,
[8015]
[8015]
pass
low half of 216 * 51
,
[11016]
[11016]
pass
low half of 203 * 67
,
[13601]
[13601]
pass
low half of 190 * 83
,
[15770]
[15770]
pass
low half of 177 * 99
,
[17523]
[17523]
pass
low half of 164 * 115
,
[18860]
[18860]
pass
low half of 151 * 131
,
[19781]
[19781]
pass
low half of 138 * 147
,
[20286]
[20286]
pass
low half of 125 * 163
,
[20375]
[20375]
pass
low half of 112 * 179
,
[20048]
[20048]
pass
low half of 99 * 195
,
[19305]
[19305]
pass
low half of 86 * 211
,
[18146]
[18146]
pass
low half of 73 * 227
,
[16571]
[16571]
pass
low half of 60 * 243
,
[14580]
[14580]
pass
high half of the first product
,
[0]
[0]
pass
passcore.msaa_resolve
Check
Pixel
Expected
Got
Match
resolved image: drawn half
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
resolved image: cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passlimit.color_attachments
Check
Pixel
Expected
Got
Match
colour attachments in one render pass (the driver's stated limit)
,
8
pass
bytes changed in memory next to the driver's allocations
,
0
pass
first attachment: drawn half
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
first attachment: cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passlimit.vertex_input
Check
Pixel
Expected
Got
Match
vertex buffer bindings in one pipeline, bound in one call (the driver's stated limit)
,
16
pass
vertex attributes in one pipeline (the driver's stated limit)
,
16
pass
bytes changed in memory next to the driver's allocations
,
0
pass
drawn half
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passlimit.push_constants_size
Check
Pixel
Expected
Got
Match
push constant bytes pushed in one call (the driver's stated limit)
,
256
pass
bytes changed in memory next to the driver's allocations
,
0
pass
drawn half: the colour in the first 16 bytes
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passlimit.per_stage_samplers
Check
Pixel
Expected
Got
Match
combined image samplers in one descriptor set, bound and drawn with (capped by this check, below the stated limit)
,
4096
pass
bytes changed in memory next to the driver's allocations
,
0
pass
drawn half: the texture in element 0
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passlimit.bound_descriptor_sets
Check
Pixel
Expected
Got
Match
descriptor sets bound in one call (the driver's stated limit)
,
7
pass
bytes changed in memory next to the driver's allocations
,
0
pass
drawn half: the texture in set 0
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passstress.pipeline_cache_threads
Check
Pixel
Expected
Got
Match
every vkCreateGraphicsPipelines call returned VK_SUCCESS
,
0
pass
pipelines asked for in 8 seconds, at least one from each thread
,
3072
pass
pipelines built, the same number
,
3072
pass
single-thread stale-size save (size asked on the empty cache, 2 pipelines added, then saved): pDataSize given 36 bytes, call returned VkResult 5 with pDataSize 36; bytes written past the given size
,
0
0
pass
every save made while compiling returned VK_SUCCESS or VK_INCOMPLETE
,
0
pass
saves made while compiling
,
168
pass
bytes a save reported beyond the buffer size it was given
,
0
pass
bytes a save wrote past the end of the buffer it was given
,
0
pass
final save size in bytes holds a header
,
10619872
pass
header names this device
,
32
pass
drawn half, after every pipeline drew it
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passstress.pipeline_threads_no_cache
Check
Pixel
Expected
Got
Match
every vkCreateGraphicsPipelines call returned VK_SUCCESS
,
0
pass
pipelines asked for in 8 seconds, at least one from each thread
,
3072
pass
pipelines built, the same number
,
3072
pass
drawn half, after every pipeline drew it
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passcore.host_coherent_readback
Check
Pixel
Expected
Got
Match
half written by vkCmdFillBuffer: first word
,
[324508639]
[324508639]
pass
half written by vkCmdFillBuffer: words holding the pattern
,
[32768]
[32768]
pass
half written by a copy from device-local memory: first word
,
[1515852340]
[1515852340]
pass
half written by a copy from device-local memory: words holding the pattern
,
[32768]
[32768]
pass
passcore.ubo_written_after_record
Check
Pixel
Expected
Got
Match
drawn half: the value written after vkEndCommandBuffer
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passcore.ubo_update_buffer
Check
Pixel
Expected
Got
Match
drawn half: the value vkCmdUpdateBuffer wrote
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
cleared half
48,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passcore.compute_big_stack
Check
Pixel
Expected
Got
Match
invocation 0 sum, seed 0
,
[3813905792]
[3813905792]
pass
invocation 1 sum, seed 1
,
[3813900928]
[3813900928]
pass
invocation 2 sum, seed 77
,
[3813957248]
[3813957248]
pass
invocation 3 sum, seed 128
,
[3814004096]
[3814004096]
pass
invocation 4 sum, seed 255
,
[3814090880]
[3814090880]
pass
invocation 5 sum, seed 1000003
,
[286940288]
[286940288]
pass
invocation 6 sum, seed 3735928559
,
[3968882816]
[3968882816]
pass
invocation 7 sum, seed 4294967295
,
[3813894272]
[3813894272]
pass
passcore.mrt_partial_kill
Check
Pixel
Expected
Got
Match
RT0 under draw B: B's colour
16,32
[0, 0, 255, 255]
[0, 0, 255, 255]
pass
RT0 outside draw B: A's colour
48,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
RT1 under draw B (write mask 0): keeps A's colour
16,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
RT1 outside draw B: A's colour
48,32
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
passcore.varying_subset
Check
Pixel
Expected
Got
Match
left half: location 3.x, 7.y, 10.z, 14.w
16,32
[48, 113, 162, 227]
[48, 113, 162, 227]
pass
right half: location 3.x, 7.y, 10.z, 14.w
48,32
[48, 113, 162, 227]
[48, 113, 162, 227]
pass
passcore.blend_advertised_formats
Check
Pixel
Expected
Got
Match
R8G8B8A8_UNORM: (1,1,1,0.5) over 0 with SRC_ALPHA
,
[0.5, 0.5, 0.5, 0.25]
[0.498039, 0.498039, 0.498039, 0.25098]
pass
R16G16B16A16_SFLOAT: (1,1,1,0.5) over 0 with SRC_ALPHA
,
[0.5, 0.5, 0.5, 0.25]
[0.5, 0.5, 0.5, 0.25]
pass
R32G32B32A32_SFLOAT: (1,1,1,0.5) over 0 with SRC_ALPHA
,
[0.5, 0.5, 0.5, 0.25]
[0.5, 0.5, 0.5, 0.25]
pass
passstage.geometry_point_size
Check
Pixel
Expected
Got
Match
inside: top-left corner of the 8x8 point
29,29
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
inside: bottom-right corner of the 8x8 point
34,34
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
inside: top-right corner of the 8x8 point
34,29
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
inside: bottom-left corner of the 8x8 point
29,34
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
outside: left of the point
26,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
outside: right of the point
37,32
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
outside: above the point
32,26
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
outside: below the point
32,37
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passstage.geometry_max_output
Check
Pixel
Expected
Got
Match
grid pixels lit by the 256 emitted points
,
[256]
[256]
pass
the last emitted point
62,62
[0, 255, 0, 255]
[0, 255, 0, 255]
pass
a pixel between grid points
0,0
[0, 0, 0, 255]
[0, 0, 0, 255]
pass
passsync.first_submit_clear_then_compute
Check
Pixel
Expected
Got
Match
repetition 1 of 4, new device: texels of slices 1 and 2 holding the clear value 0x5A5A1234
,
[32]
[32]
pass
repetition 2 of 4, new device: texels of slices 1 and 2 holding the clear value 0x5A5A1234
,
[32]
[32]
pass
repetition 3 of 4, new device: texels of slices 1 and 2 holding the clear value 0x5A5A1234
,
[32]
[32]
pass
repetition 4 of 4, new device: texels of slices 1 and 2 holding the clear value 0x5A5A1234
,
[32]
[32]
pass
passmem.image_padding
Check
Pixel
Expected
Got
Match
256x256 ASTC 4x4, 9 mips: vkGetImageMemoryRequirements size at most the larger of 4 x packed and packed + 64 KiB (packed size 87408 bytes)