cpu sm4ekey and sm4e give the SM4 standard's worked example | 1 crashed 2 skip |
fixed depth bounds 0.125 to 0.375 reject a pixel whose buffer holds 0.5, its fragment at 0.25 | 2 fail |
fixed depth bounds 0.625 to 0.875 reject a pixel whose buffer holds 0.5, its fragment at 0.25 | 2 fail |
coverage four raster samples write 0xf where a pixel is covered | 2 fail |
coverage the standard four samples split a pixel at its centre as 0x5 | 2 fail |
coverage two raster samples write 0x3, and 0x2 where a pixel's centre cuts them | 2 fail |
coverage eight raster samples write 0xff, and 0x3a where a pixel's centre cuts them | 2 fail |
coverage the sample mask is in the mask written | 2 fail |
coverage positions the list sets split a pixel as 0x3 where the standard give 0x5 | 2 fail |
coverage every sample at the centre leaves a pixel cut a quarter in unwritten | 2 fail |
coverage odd columns of the 2 by 2 grid take their own positions | 2 fail |
coverage alpha to coverage at one covers every sample | 2 fail |
coverage alpha to coverage at one keeps to the sample mask | 2 fail |
coverage alpha to one keeps the coverage the shader's alpha gave | 2 fail |
coverage rgba modulation scales every channel by the share of samples covered | 2 fail |
coverage rgb modulation leaves alpha whole | 2 fail |
coverage alpha modulation leaves the colour whole | 2 fail |
coverage a second target is modulated and keeps its own write mask | 2 fail |
coverage the modulation table takes the place of the share | 2 fail |
coverage a pixel cut at its centre is modulated by the two samples it covers | 2 fail |
coverage over a four sample depth image a one sample target receives the coverage the depth test left | 2 fail |
coverage a four sample texture fetches the sample it names | 2 fail |
coverage coverage to color writes each sample the coverage left after the depth test | 2 fail |
msaa a 4x ZF32 target cleared to 0.75 holds the float at every sample | 2 fail |
msaa a conservative triangle covers every sample of each pixel it crosses | 2 fail |
sampling the minimum reduction takes the lesser texel | 2 fail |
sampling the maximum reduction takes the greater texel | 2 fail |
order a block of 64 uses all 48 KiB of its shared memory | 2 fail |
order a barrier hands each of 64 invocations the shared words another wrote | 2 fail |
index an indexed draw with the library's open limit uses every index | 2 crashed |
topology a quad takes its flat colour from its fourth vertex | 2 fail |
topology a quad strip's quads each take their last vertex's colour | 2 fail |
topology indexed quads restart at index 8 | 2 fail |
topology a line loop closes from its last vertex to its first | 2 fail |
topology a quad drawn as lines shows its four sides and no diagonal | 2 fail |
topology a polygon drawn as lines shows its outline and no diagonal | 2 fail |
topology two triangles drawn as lines show the diagonal they share | 2 fail |
vertex a stride of 69 bytes, no multiple of four, reads each RGBA32F vertex from its own place | 2 fail |
vertex a stride of 48 reads 16 bytes at offset 8 of each vertex and none of the poison around them | 2 fail |
vertex an attribute at offset 40 of a 32 byte stride reads into the next vertex's bytes | 2 fail |
vertex an RGB32F attribute reads one in the w it lacks | 2 fail |
vertex an RG32F attribute reads nought and one in the z and w it lacks | 2 fail |
vertex an R32F attribute reads nought, nought and one in the y, z and w it lacks | 2 fail |
vertex an RGBA8 attribute in BGRA order takes red from the third byte | 2 fail |
vertex 16-bit signed scaled attributes read whole numbers of both signs | 2 fail |
vertex 8-bit unsigned scaled attributes read whole numbers to 255 | 2 fail |
vertex a 10_10_10_2 unsigned normalised attribute reads nought and one in each field | 2 fail |
vertex a per instance attribute with divisor 3 steps every third instance | 2 fail |
geometry a geometry shader turns each of four points into its 8 by 8 square | 2 fail |
geometry a point the geometry shader emits nothing for draws nothing | 2 fail |
geometry a patch tessellated at level 4 covers its rectangle, and says 4 | 2 fail |
geometry the same patch at level 7 covers the same rectangle, and says 7 | 2 fail |
geometry a geometry shader with no early return squares the shown points only | 2 fail |
geometry a patch whose evaluation stage reads no level covers its rectangle at 4 | 2 fail |
geometry a patch with no control stage covers its rectangle at the list's level 5 | 2 fail |
geometry an evaluation stage with no control stage reads the list's level 5 | 2 fail |
geometry a positive first clip distance passed on by the evaluation stage clips nothing | 2 fail |
geometry a geometry stage's stores land beside the word the vertex stage reads in one buffer | 2 fail |
geometry the fragment stage samples the texel an evaluation stage storing into its image left alone | 2 fail |
geometry an evaluation stage's stores land in its image | 2 fail |
geometry a draw after a barrier fetches what the evaluation stage stored | 2 fail |
geometry the vertex stage's stores land in its image | 2 fail |
xfb a capture of one triangle writes its three positions, 48 bytes | 2 fail |
xfb the primitives written counter counts the captured triangle | 2 fail |
bindless a handle index below 128 samples its own texture | 2 fail |
bindless a handle index from 128 to 255 samples its own texture | 2 fail |
bindless a handle at a dynamic index to a four sample texture fetches the sample it names | 2 fail |
astc an HDR partition is the error colour and the LDR one after it decodes | 2 fail |
astc an illegal block is the error colour | 2 fail |
bcn a BC1 block of four colours decodes 255 0 0, 0 0 255, 170 0 85 and 85 0 170 | 2 fail |
bcn a BC1 block of three colours decodes its midpoint as 127 and index 3 transparent | 2 fail |
bcn a BC2 block decodes alphas 15 and 8 as 255 and 136 and its colours as four | 2 fail |
bcn a BC3 block of eight alphas decodes 219 and 36 | 2 fail |
bcn a BC3 block of six alphas decodes 48, 0 and 255 | 2 fail |
bcn a BC4 block decodes index 2 between 255 and 0 as 56355 of 65535 | 2 fail |
bcn a signed BC4 block decodes index 2 as 23623 of 32767 and -128 as -1 | 2 fail |
bcn a BC7 mode 6 block decodes 255 1 1, 1 255 1 and 120 136 1 | 2 fail |
bcn a BC7 mode 5 block with rotation 1 swaps alpha and red | 2 fail |
zeta a Z24S8 texture the processor wrote samples its stencil from the low byte | 2 fail |
zeta a ZF32_X24S8 texture the processor wrote samples its stencil from the next word | 2 fail |
zeta a Z24S8 target cleared to 0.75 over 0x5a holds 0xbfffff5a in memory | 2 fail |
zeta a Z24X8 target cleared to 0.75 holds 0xbfffff above its low byte | 2 fail |
zeta a Z16 target cleared to 0.75 holds 0xbfff in memory | 2 fail |
zeta a ZF32 target cleared to 0.75 holds its float in memory | 2 fail |
zeta a ZF32_X24S8 target cleared to 0.75 over 0x5a holds the float, then 0x5a | 2 fail |
zeta an S8 target cleared to 0x5a holds 0x5a in memory | 2 fail |
ring 4096 indexed draws that each take new descriptors all land | 2 crashed |
occlusion 320 quads counted one by one are all drawn | 2 fail |
occlusion 320 quads counted one by one pass 64 samples each | 2 fail |
occlusion 320 cells cleared one by one between reports are cleared | 2 fail |
drawtex a draw texture copies its texture onto its rectangle | 2 fail |
drawtex a draw after a draw texture binds the pipeline the draw before it bound | 2 fail |
drawtex a draw with another pipeline after a draw texture sets its own viewport | 2 fail |
drawtex a draw texture blends with the blend state bound | 2 fail |
drawtex a draw texture writes only the channels the write mask opens | 2 fail |
drawtex the alpha test rejects a draw texture's texels, and passes them flipped | 2 fail |
drawtex a draw texture from left of its texture clamps through a clamping sampler | 2 fail |
drawtex a draw texture from left of its texture wraps through a repeating sampler | 2 fail |
query a 32 by 300 pixel quad passes 9600 samples | 2 fail |
query a second quad of 1600 pixels adds to the count, 11200 | 2 fail |
query render enable FALSE skips the draw | 2 fail |
query render enable TRUE draws | 2 fail |
query IF_EQUAL draws over two equal values whose timestamps differ | 2 fail |
query IF_NOT_EQUAL skips the same two values | 2 fail |
query IF_EQUAL skips values that differ in the low word | 2 fail |
query IF_NOT_EQUAL draws over values that differ in the low word | 2 fail |
query IF_EQUAL skips values that differ only in the high word | 2 fail |
query IF_NOT_EQUAL draws over values that differ only in the high word | 2 fail |
query IF_EQUAL draws after two reports of the same count in the same list | 2 fail |
query IF_NOT_EQUAL skips after two reports of the same count | 2 fail |
query IF_EQUAL skips after a report of 9600 and one of nought | 2 fail |
query IF_NOT_EQUAL draws after a report of 9600 and one of nought | 2 fail |
query IF_EQUAL draws after two equal reports from a list that finished before | 2 fail |
query IF_NOT_EQUAL skips after two equal reports from a list before | 2 fail |
query IF_EQUAL skips after 9600 and nought reported in a list before | 2 fail |
query IF_NOT_EQUAL draws after 9600 and nought reported in a list before | 2 fail |
query a full target clear under IF_EQUAL after 9600 and nought is skipped too | 2 fail |
query a full target clear under IF_NOT_EQUAL after 9600 and nought happens | 2 fail |
query a full target clear under IF_EQUAL over two values that differ is skipped | 2 fail |
query a full target clear under IF_EQUAL over two equal values happens | 2 fail |
dma 32 copies of words the processor wrote land whole | 2 crashed |
dma 32 copies of words a dispatch wrote just before land whole | 2 crashed |
copy a copy from a buffer with FlipY writes the rows bottom up | 2 fail |
copy a copy to a buffer with FlipY writes the rows bottom up | 2 fail |
copy a blit from RGBA8 to BGRA8 swaps red and blue | 2 fail |
copy a blit from RGBA8 to RGB565 keeps nought and full in every channel | 2 fail |
copy a blit from RGBA8 to RGBA16F makes full channels one | 2 fail |
copy a blit from RGBA16F to RGBA8 makes channels of one full | 2 fail |