Compare commits

..

54 Commits

Author SHA1 Message Date
Ian Romanick
15118b45a0 mesa: Bump version to 10.0.0-rc1 2013-11-18 12:23:56 -08:00
Aaron Watry
3fd32619d7 radeon/llvm: Free elf_buffer after use
Prevents a memory leak.

v2: Remove null check

CC: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 2be85e2492)
2013-11-15 13:39:41 -08:00
Aaron Watry
7a87dc278e r600/llvm: Free binary.code/binary.config in r600_llvm_compile
radeon_llvm_compile allocates memory for binary.code, binary.config,
or neither depending on what's being done.

We need to make sure to free that memory after it's no longer needed.

v2: Don't bother checking for null before FREE()

CC: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 01f3622c74)
2013-11-15 13:39:41 -08:00
Aaron Watry
f843604b6a r600/llvm: initialize radeon_llvm_binary
use memset to initialize to 0's... otherwise code_size and config_size
could be uninitialized when read later in this method.

It's also hard to do NULL checks on uninitialized pointers.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

v2: Fix indentation

CC: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit dd73b99420)
2013-11-15 13:39:41 -08:00
Brian Paul
e9f8b78278 svga: mark dest image as defined in svga_surface_copy()
After we blit/copy to a dest texture image we need to mark it as
being defined.  This fixes broken mipmap generation for quite a
few texture formats.  Mipgen involves making texture views and
svga_texture_view_surface() skips texture images that are undefined.

Cc: "10.0" <mesa-stable@lists.freedesktop.org>

Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
(cherry picked from commit 3969330b47)
2013-11-15 13:39:41 -08:00
Brian Paul
dfff838429 svga: do primitive trimming in translate_indices()
The index translation code expects the number of indexes to be
consistent with the primitive type (ex: a multiple of 3 for
PIPE_PRIM_TRIANGLES).  If it's not, we can write out of bounds
in the destination buffer.

Fixes failed assertions in the pipebuffer debug code found with
Piglit primitive-restart-draw-mode test.

Cc: "10.0" <mesa-stable@lists.freedesktop.org>

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit 79984b9928)
2013-11-15 13:39:41 -08:00
Aaron Watry
11982ca08d gallium/pipe_loader: un-reference udev resources when we're done with them.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

CC: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 598f61ba28)
2013-11-15 13:39:41 -08:00
Aaron Watry
713966c82f radeonsi/compute: Dispose of LLVM module after compiling kernels
v2: Fix indentation

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

CC: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 4c6ac9e614)
2013-11-15 13:39:41 -08:00
Aaron Watry
3a98fc6abe radeonsi/compute: Free program and program.kernels on shutdown
v2: Fix indentation

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

CC: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 35dad4a1e2)
2013-11-15 13:39:41 -08:00
Aaron Watry
531637feee radeon/llvm: Free created llvm memory buffer
v2: Fix indentation

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

CC: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit d41b10f811)
2013-11-15 13:39:41 -08:00
Aaron Watry
02807c06b8 radeon/llvm: Free libelf resources
v2: Fix indentation

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

CC: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit a2b93da84b)
2013-11-15 13:39:40 -08:00
Aaron Watry
9ed0452740 radeon/llvm: fix spelling error
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

CC: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit df482fe02f)
2013-11-15 13:39:40 -08:00
Tom Stellard
ef8fcfc9cf clover: Support multiple devices in clCreateContextFromType() v2
v2:
  - Use clGetDeviceIDs to query devices.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>

CC: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 17af4dd52b)
2013-11-15 13:39:40 -08:00
Paul Berry
1b45f255b5 glsl: Rework interface block linking.
Previously, when doing intrastage and interstage interface block
linking, we only checked the interface type; this prevented us from
catching some link errors.

We now check the following additional constraints:

- For intrastage linking, the presence/absence of interface names must
  match.

- For shader ins/outs, the interface names themselves must match when
  doing intrastage linking (note: it's not clear from the spec whether
  this is necessary, but Mesa's implementation currently relies on
  it).

- Array vs. nonarray must be consistent, taking into account the
  special rules for vertex-geometry linkage.

- Array sizes must be consistent (exception: during intrastage
  linking, an unsized array matches a sized array).

Note: validate_interstage_interface_blocks currently handles both
uniforms and in/out variables.  As a result, if all three shader types
are present (VS, GS, and FS), and a uniform interface block is
mentioned in the VS and FS but not the GS, it won't be validated.  I
plan to address this in later patches.

Fixes the following piglit tests in spec/glsl-1.50/linker:
- interface-blocks-vs-fs-array-size-mismatch
- interface-vs-array-to-fs-unnamed
- interface-vs-unnamed-to-fs-array
- intrastage-interface-unnamed-array

v2: Simplify logic in intrastage_match() for handling array sizes.
Make extra_array_level const.  Use an unnamed temporary
interface_block_definition in validate_interstage_interface_blocks()'s
first call to definitions->store().

Cc: "10.0" <mesa-stable@lists.freedesktop.org>

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
(cherry picked from commit f38ac41ed4)
2013-11-15 13:39:40 -08:00
Paul Berry
1a163c0b34 i965: Fix vertical alignment for multisampled buffers.
From the Sandy Bridge PRM, Vol 1 Part 1 7.18.3.4 (Alignment Unit
Size):

    j [vertical alignment] = 4 for any render target surface is
    multisampled (4x)

From the Ivy Bridge PRM, Vol 4 Part 1 2.12.2.1 (SURFACE_STATE for most
messages), under the "Surface Vertical Alignment" heading:

    This field is intended to be set to VALIGN_4 if the surface was
    rendered as a depth buffer, for a multisampled (4x) render target,
    or for a multisampled (8x) render target, since these surfaces
    support only alignment of 4.

Back in 2012 when we added multisampling support to the i965 driver,
we forgot to update the logic for computing the vertical alignment, so
we were often using a vertical alignment of 2 for multisampled
buffers, leading to subtle rendering errors.

Note that the specs also require a vertical alignment of 4 for all
Y-tiled render target surfaces; I plan to address that in a separate
patch.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53077
Cc: mesa-stable@lists.freedesktop.org

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit b4c3b833ec)
2013-11-15 13:39:40 -08:00
Paul Berry
53e681f2fe main: Fix MaxUniformComponents for geometry shaders.
For both vertex and fragment shaders we default MaxUniformComponents
to 4 * MAX_UNIFORMS.  It makes sense to do this for geometry shaders
too; if back-ends have different limits they can override them as
necessary.

Fixes piglit test:
spec/glsl-1.50/built-in constants/gl_MaxGeometryUniformComponents

Cc: "10.0" <mesa-stable@lists.freedesktop.org>

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 46e9f78efc)
2013-11-15 13:39:40 -08:00
Fredrik Höglund
10c25e58ca mesa: Fix derived vertex state not being updated in glCallList()
AEcontext::NewState is not always set when the vertex array state
is changed.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71492
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit ff353c218a)
2013-11-15 13:39:40 -08:00
Ian Romanick
0558e10160 dri: Change value param to unsigned
This silences some compiler warnings in i915 and i965.  See also
75982a5.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit a15a19f0d1)
2013-11-15 13:39:40 -08:00
Ian Romanick
1e51d3a668 i965: Use drm_intel_get_aperture_sizes instead of hard-coded 2GiB
Systems with little physical memory installed will report less than
2GiB, and some systems may (hypothetically?) have a larger address space
for the GPU.  My IVB still reports 1534.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit cb6182bdfa)
2013-11-15 13:39:39 -08:00
Ian Romanick
e5839c2397 i915: Use drm_intel_get_aperture_sizes instead of drmAgpSize
Send the zombie back to the grave before it infects the townsfolk.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 9fe108db09)
2013-11-15 13:39:39 -08:00
Kristian Høgsberg
7d2187176a dri: Remove redundant createNewContext function from __DRIimageDriverExtension
createContextAttribs is a superset of what createNewContext provides.
Also remove the function typedef, since createNewContext is deprecated
and no longer used in  multiple interfaces.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit e048953145)
2013-11-15 13:39:39 -08:00
Kristian Høgsberg
329a75511f wayland: Use __DRIimage based getBuffers implementation when available
This lets us allocate color buffers as __DRIimages and pass them into
the driver instead of having to create a __DRIbuffer with the flink
that requires.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 68bb26bead)
2013-11-15 13:39:39 -08:00
Kristian Høgsberg
76434775e0 gbm: Add support for __DRIimage based getBuffers when available
This lets us allocate color buffers as __DRIimages and pass them into
the driver instead of having to create a __DRIbuffer with the flink
that requires.

With this patch, we can now run gbm on render-nodes.  A render-node is a
drm device that doesn't support modesetting and all the legacy DRI ioctls.
flink is also not supported, but now that gbm doesn't need flink, we can
run piglit on head-less gbm or head-less GPGPU.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Tested-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 04e3ef00db)
2013-11-15 13:39:39 -08:00
Ander Conselvan de Oliveira
2365244302 dri/i915, dri/i965: Fix support for planar images
Planar images have format __DRI_IMAGE_FORMAT_NONE, but the patch that
moved the conversion from dri_format to the mesa format made it
impossible to allocate a image with that format.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 5ba6be2617)
2013-11-15 13:39:39 -08:00
Eric Anholt
3e6f200250 i965/fs: Try a different pre-scheduling heuristic if the first spills.
Since LIFO fails on some shaders in one particular way, and non-LIFO
systematically fails in another way on different kinds of shaders, try
them both, and pick whichever one successfully register allocates first.
Slightly prefer non-LIFO in case we produce extra dependencies in register
allocation, since it should start out with fewer stalls than LIFO.

This is madness, but I haven't come up with another way to get unigine
tropics to not spill while keeping other programs from not spilling and
retaining the non-unigine performance wins from texture-grf.

total instructions in shared programs: 1626728 -> 1626288 (-0.03%)
instructions in affected programs:     1015 -> 575 (-43.35%)
GAINED:                                50
LOST:                                  0

Improves Unigine Tropics performance by 14.5257% +/- 0.241838% (n=38)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70445
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit e9daead784)
2013-11-15 13:39:39 -08:00
Eric Anholt
99c62ff2ea i965/fs: Do instruction pre-scheduling just before register allocation.
Long ago, the HW_REG usage in assign_curb/urb_setup() were scheduling
barriers, so we had to run scheduler before them in order for it to be
able to do basically anything.  Now that that's fixed, we can delay the
scheduling until we go to allocate (which will make the next change less
scary).

Cc: "10.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit fbd8303a94)
2013-11-15 13:39:39 -08:00
Eric Anholt
a5a6ef9702 i965/fs: Ignore actual latency pre-reg-alloc.
We care about depth-until-program-end, as a proxy for "make sure I
schedule those early instructions that open up the other things that can
make progress while keeping register pressure low", not actual latency
(since we're relying on the post-register-alloc scheduling to actually
schedule for the hardware).

total instructions in shared programs: 1609931 -> 1609931 (0.00%)
instructions in affected programs:     0 -> 0
GAINED:                                55
LOST:                                  43

Cc: "10.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit f72a0d99fe)
2013-11-15 13:39:39 -08:00
Eric Anholt
6640147463 i965/fs: Fix message setup for SIMD8 spills.
In the SIMD16 spilling changes, I replaced a "1" in the spill path with
"mlen", but obviously it wasn't mlen before because spills have the g0
header along with the payload. The interface I was trying to use was
asking for how many physical regs we're writing, so we're looking for "1"
or "2".

I'm guessing this actually passed piglit because the high 8 bits of the
execution mask in SIMD8 mode are all 0s.

Cc: "10.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
(cherry picked from commit 7c90947a0b)
2013-11-15 13:39:38 -08:00
Eric Anholt
229ee20460 i965/fs: Prefer things we know reduce reg pressure when pre-scheduling.
Previously, the best thing we had was to schedule the things unblocked by
the last chosen instruction, on the hope that it would be consuming two
values at the end of their live intervals while only producing one new
value.  But that's just a guess, and we can do counting of usage of
registers to know when an instruction would (almost surely) reduce
register pressure.

The only failure mode I know of in this new dominant heuristic is that
inside of a loop when scheduling the iterator (for example), choosing the
last use of the iterator doesn't actually reduce the live interval of the
iterator.  But it doesn't seem to matter in shader-db:

total instructions in shared programs: 1618700 -> 1618700 (0.00%)
instructions in affected programs:     0 -> 0
GAINED:                                13
LOST:                                  0

Note: The new functions are made virtual because I expect we'll soon lift
the pre-regalloc scheduling heuristic over to the vec4 backend.

Cc: "10.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit bc0e3bb4d0)
2013-11-15 13:39:38 -08:00
Eric Anholt
dbddd86cc2 i965: Fix undefined value usage in ABO setup.
Fixes a compiler warning.

Cc: "10.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit 9b3e1592c2)
2013-11-15 13:39:38 -08:00
Francisco Jerez
c702f5eead clover: Fix the const variant of adaptor_range::end to deal with mismatching range sizes.
Fixes infinite loop in find_grid_optimal_factor() in cases where the
user specifies a grid size with less dimensions than the device
supports.

Reported-by: Tom Stellard <thomas.stellard@amd.com>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 99d447cc5d)
2013-11-15 13:39:38 -08:00
Cyril Brulebois
c4cc166abc gallium: fix build on GNU/Hurd due to missing PIPE_OS_HURD detection
Thanks to Pino Toscano.  Patch from Debian package.

Cc: "10.0" <mesa-stable@lists.freedesktop.org>

Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 2d77e4f922)
2013-11-15 13:39:38 -08:00
Petr Sebor
2a3dcece72 meta: enable vertex attributes in the context of the newly created array object
Otherwise, the function would enable generic vertex attributes 0
and 1 of the array object it does not own. This was causing crashes
in Euro Truck Simulator 2, since the incorrectly enabled generic
attribute 0 in the foreign context got precedence before vertex
position attribute at later time, leading to NULL pointer dereference.

Cc: "9.2" <mesa-stable@lists.freedesktop.org>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>

Signed-off-by: Petr Sebor <petr@scssoft.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit f2b844f59d)
2013-11-15 13:39:38 -08:00
Brian Paul
accc276df2 mesa: call update_array_format() after error checking
We try to do all error checking before changing any GL state.

Cc: "10.0" <mesa-stable@lists.freedesktop.org>

Jordan Justen <jordan.l.justen@intel.com>
(cherry picked from commit ce193d4f01)
2013-11-15 13:39:38 -08:00
Ilia Mirkin
afbdcdcaaf nouveau/video: mark bitstream-level acceleration as unsupported
Adding a vl_mpeg-based helper didn't seem to work, as it produced data
that the card couldn't handle. (And I didn't investigate further.) This
makes the decoding functionality only accessible via XvMC and avoids
crashes when attempting to use VDPAU.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 08122e151a)
2013-11-15 13:39:38 -08:00
Ilia Mirkin
6f2877c40d nouveau/video: don't try on nv3x
It doesn't work, I don't know why, but no point in hanging people's
displays until it gets figured out.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit e8d5d3409c)
2013-11-15 13:39:38 -08:00
Tom Stellard
02d9e1be87 egl-static: Only export necessary symbols v3
This fixes a crash in glamor when mesa links against static LLVM.

v2:
  - Inline LINKER_SCRIPT variable

v3: Kai Wasserbäch
  - Fix out out-of-tree-builds

Tested-by: Kai Wasserbäch <kai@dev.carbon-project.or>
(cherry picked from commit 594fa4a208)
2013-11-15 13:39:37 -08:00
Tom Stellard
095d583e52 configure.ac: Don't require shared LLVM when building OpenCL
This works now that pipe_*.so is no longer exporting LLVM symbols.

Tested-by: Kai Wasserbäch <kai@dev.carbon-project.or>
(cherry picked from commit cb080a10b6)
2013-11-15 13:39:37 -08:00
Tom Stellard
8af132fca9 pipe-loader: Only export necessary symbols v3
This makes it possible to use clover with statically linked LLVM.

v2:
  - Inline LINKER_SCRIPT variable

v3: Kai Wasserbäch
  - Fix out out-of-tree-builds

Tested-by: Kai Wasserbäch <kai@dev.carbon-project.or>
(cherry picked from commit 6d6c749215)
2013-11-15 13:39:37 -08:00
Tom Stellard
ade312cd8a radeonsi/compute: Add Sea Islands support
(cherry picked from commit a859131003)
2013-11-15 13:39:37 -08:00
Rico Schüller
f9a74a0b4c tests: Fix make check for out of tree builds.
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Rico Schüller <kgbricola@web.de>
(cherry picked from commit 23afe71f44)
2013-11-15 13:39:37 -08:00
Brian Paul
0e3f5999b9 osmesa: fix broken triangle/line drawing when using float color buffer
Doesn't seem to help with bug 71363 but it fixed a failure I found in
my testing.

Cc: "9.2" <mesa-stable@lists.freedesktop.org>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit a66a008b17)
2013-11-15 13:39:37 -08:00
Chris Forbes
ebc460bc5f i965: convert brw_lower_offset_array_visitor to ir_rvalue_visitor
Previously, we would bogusly replace the entire statement containing the
ir_texture node with an ir_dereference_variable.

Correct this to just replace the ir_texture node itself as intended.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 5442c0eae3)
2013-11-15 13:39:37 -08:00
Chris Forbes
0010bdd54a glsl: fix missing breaks in equals(ir_texture,..)
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit d257350949)
2013-11-15 12:28:34 -08:00
Matt Turner
b8a631295a i965/fs: Don't perform CSE on inst HW_REG dests (unless it's null)
Commit b16b3c87 began performing CSE on CMP instructions with null
destinations. I relaxed the restrictions a bit too much, thereby
allowing CSE to be performed on instructions with, for instance, an
explicit accumulator destination.

This broke the arb_gpu_shader5/fs-imulExtended shader tests because
they emit MUL instructions with the accumulator as the destination. CSE
would instead cause the MUL to write to a GRF, which is lower precision
than the accumulator.

Reviewed-by: Eric Anholt <eric@anholt.net>
Cc: 10.0 <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 68349e5219)
2013-11-15 12:28:34 -08:00
Ian Romanick
c94ed272eb Add .cherry-ignore file
Since we've disabled DRI3 completely in 10.0, f0f202e this commit is no
longer necessary.
2013-11-15 12:28:33 -08:00
Eric Anholt
47139b0233 glx: Back DRI3 enablement out of the stable branch.
After more testing (everyone else trying to build the stack is having as
much trouble as I had, even after the problems I had were fixed), it
really feels like dri3 is not something we're ready to support in this
stable branch.  The .c/.h code will remain here to enable easier
cherry-picking from master, and everything stays on master so we can ship
a solid DRI3 in 3 months.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
2013-11-15 12:28:33 -08:00
Brian Paul
94251281b4 glx: change query_renderer_integer() value param to unsigned
When this function was added, the returned value was signed in some
places, unsigned in others.

v2: also add unsigned in the unit test, per Ian.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit 75982a5df4)
2013-11-15 11:58:06 -08:00
José Fonseca
03a29306b5 glx: Fix scons build.
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 6c6f4aa6fd)
2013-11-15 11:58:06 -08:00
Brian Paul
d37ea6dfec swrast: add missing notify_reset parameter to dri_create_context()
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
(cherry picked from commit f41c01c688)
2013-11-15 11:57:10 -08:00
José Fonseca
84ee00c1b2 scons: Add dri2_query_renderer.c to sources.
(cherry picked from commit cb3c57df3a)
2013-11-15 11:57:10 -08:00
José Fonseca
3ffcc96abc st/dri: Fix dri_create_context declaration prototype.
(cherry picked from commit caf1d96862)
2013-11-15 11:57:10 -08:00
Alexander von Gluck IV
bc94bf08c4 haiku/swrast: Inherit gl_config, fix flush
* Inherit gl_context so we always have access to it
* Thanks curro for the idea.
* Last Haiku cannidate for 10.0.0

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2013-11-14 12:38:27 -06:00
Alexander von Gluck IV
ce904c4caf haiku: add swrast driver
* This is pretty small and upkeep should be minimal.
* Currently fully working.
* Cannidate for 10.0.0 branch

Acked-by: Brian Paul <brianp@vmware.com>
2013-11-13 13:35:58 -06:00
8719 changed files with 541191 additions and 2617835 deletions

View File

@@ -1,66 +0,0 @@
goto %1
:install
rem Check pip
python --version
python -m pip install --upgrade pip
python -m pip --version
if "%buildsystem%" == "scons" (
rem Install Mako
python -m pip install Mako==1.1.3
rem Install pywin32 extensions, needed by SCons
python -m pip install pypiwin32
rem Install python wheels, necessary to install SCons via pip
python -m pip install wheel
rem Install SCons
python -m pip install scons==3.1.2
call scons --version
) else (
python -m pip install Mako meson
meson --version
rem Install pkg-config, which meson requires even on windows
cinst -y pkgconfiglite
)
rem Install flex/bison
set WINFLEXBISON_ARCHIVE=win_flex_bison-%WINFLEXBISON_VERSION%.zip
if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "https://github.com/lexxmark/winflexbison/releases/download/v%WINFLEXBISON_VERSION%/%WINFLEXBISON_ARCHIVE%"
7z x -y -owinflexbison\ "%WINFLEXBISON_ARCHIVE%" > nul
set Path=%CD%\winflexbison;%Path%
win_flex --version
win_bison --version
rem Download and extract LLVM
if not exist "%LLVM_ARCHIVE%" appveyor DownloadFile "https://people.freedesktop.org/~jrfonseca/llvm/%LLVM_ARCHIVE%"
7z x -y "%LLVM_ARCHIVE%" > nul
if "%buildsystem%" == "scons" (
mkdir llvm\bin
set LLVM=%CD%\llvm
) else (
move llvm subprojects\
copy .appveyor\llvm-wrap.meson subprojects\llvm\meson.build
)
goto :eof
:build_script
if "%buildsystem%" == "scons" (
call scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.2 machine=x86 llvm=1
) else (
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=x86
rem We use default-library as static to affect any wraps (such as expat and zlib)
rem it would be better if we could set subprojects buildtype independently,
rem but I haven't written that patch yet :)
call meson builddir --backend=vs2017 --default-library=static -Dbuild-tests=true -Db_vscrt=mtd --buildtype=release -Dllvm=true -Dgallium-drivers=swrast -Dosmesa=gallium
pushd builddir
call msbuild mesa.sln /m
popd
)
goto :eof
:test_script
if "%buildsystem%" == "scons" (
call scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.2 machine=x86 llvm=1 check
) else (
call meson test -C builddir
)
goto :eof

View File

@@ -1,36 +0,0 @@
# A meson.build file for binary wrapping the LLVM used in the appvyeor CI
project('llvm', ['cpp'])
cpp = meson.get_compiler('cpp')
_deps = []
_search = join_paths(meson.current_source_dir(), 'lib')
foreach d : ['LLVMAnalysis', 'LLVMAsmParser', 'LLVMAsmPrinter',
'LLVMBinaryFormat', 'LLVMBitReader', 'LLVMBitWriter',
'LLVMCodeGen', 'LLVMCore', 'LLVMCoroutines', 'LLVMCoverage',
'LLVMDebugInfoCodeView', 'LLVMDebugInfoDWARF',
'LLVMDebugInfoMSF', 'LLVMDebugInfoPDB', 'LLVMDemangle',
'LLVMDlltoolDriver', 'LLVMExecutionEngine', 'LLVMGlobalISel',
'LLVMInstCombine', 'LLVMInstrumentation', 'LLVMInterpreter',
'LLVMipo', 'LLVMIRReader', 'LLVMLibDriver', 'LLVMLineEditor',
'LLVMLinker', 'LLVMLTO', 'LLVMMCDisassembler', 'LLVMMCJIT',
'LLVMMC', 'LLVMMCParser', 'LLVMMIRParser', 'LLVMObjCARCOpts',
'LLVMObject', 'LLVMObjectYAML', 'LLVMOption', 'LLVMOrcJIT',
'LLVMPasses', 'LLVMProfileData', 'LLVMRuntimeDyld',
'LLVMScalarOpts', 'LLVMSelectionDAG', 'LLVMSupport',
'LLVMSymbolize', 'LLVMTableGen', 'LLVMTarget',
'LLVMTransformUtils', 'LLVMVectorize', 'LLVMX86AsmParser',
'LLVMX86AsmPrinter', 'LLVMX86CodeGen', 'LLVMX86Desc',
'LLVMX86Disassembler', 'LLVMX86Info', 'LLVMX86Utils',
'LLVMXRay']
_deps += cpp.find_library(d, dirs : _search)
endforeach
dep_llvm = declare_dependency(
include_directories : include_directories('include'),
dependencies : _deps,
version : '5.0.1',
)
has_rtti = false
irbuilder_h = files('include/llvm/IR/IRBuilder.h')

View File

@@ -1,18 +1,11 @@
((nil . ((show-trailing-whitespace . t)))
(prog-mode
((nil
(indent-tabs-mode . nil)
(tab-width . 8)
(c-basic-offset . 3)
(c-file-style . "stroustrup")
(fill-column . 78)
(eval . (progn
(c-set-offset 'case-label '0)
(c-set-offset 'innamespace '0)
(c-set-offset 'inline-open '0)))
(whitespace-style face indentation)
(whitespace-line-column . 79)
(eval ignore-errors
(require 'whitespace)
(whitespace-mode 1)))
(makefile-mode (indent-tabs-mode . t))
)
)

View File

@@ -1,44 +0,0 @@
# To use this config on you editor, follow the instructions at:
# http://editorconfig.org
root = true
[*]
charset = utf-8
insert_final_newline = true
tab_width = 8
[*.{c,h,cpp,hpp,cc,hh}]
indent_style = space
indent_size = 3
max_line_length = 78
[{Makefile*,*.mk}]
indent_style = tab
[{*.py,SCons*}]
indent_style = space
indent_size = 4
[*.pl]
indent_style = space
indent_size = 4
[*.m4]
indent_style = space
indent_size = 2
[*.yml]
indent_style = space
indent_size = 2
[*.html]
indent_style = space
indent_size = 2
[*.patch]
trim_trailing_whitespace = false
[{meson.build,meson_options.txt}]
indent_style = space
indent_size = 2

4
.gitattributes vendored Normal file
View File

@@ -0,0 +1,4 @@
*.dsp -crlf
*.dsw -crlf
*.sln -crlf
*.vcproj -crlf

44
.gitignore vendored
View File

@@ -1,4 +1,46 @@
*.a
*.dll
*.exe
*.ilk
*.la
*.lo
*.log
*.o
*.obj
*.os
*.pc
*.pdb
*.pyc
*.pyo
*.out
*.so
*.so.*
*.sw[a-z]
*.tar
*.tar.bz2
*.tar.gz
*.trs
*.zip
*~
depend
depend.bak
bin/ltmain.sh
lib
lib64
configure
configure.lineno
autom4te.cache
aclocal.m4
config.log
config.status
cscope*
.scon*
config.py
build
libtool
manifest.txt
.dir-locals.el
.deps/
.dirstamp
.libs/
Makefile
Makefile.in

File diff suppressed because it is too large Load Diff

View File

@@ -1,54 +0,0 @@
CONFIG_LOCALVERSION="ccu"
CONFIG_DEBUG_KERNEL=y
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
CONFIG_DEVFREQ_GOV_POWERSAVE=y
CONFIG_DEVFREQ_GOV_USERSPACE=y
CONFIG_DEVFREQ_GOV_PASSIVE=y
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
CONFIG_DRM=y
CONFIG_DRM_ROCKCHIP=y
CONFIG_DRM_PANFROST=y
CONFIG_DRM_LIMA=y
CONFIG_DRM_PANEL_SIMPLE=y
CONFIG_PWM_CROS_EC=y
CONFIG_BACKLIGHT_PWM=y
CONFIG_ROCKCHIP_CDN_DP=n
CONFIG_SPI_ROCKCHIP=y
CONFIG_PWM_ROCKCHIP=y
CONFIG_PHY_ROCKCHIP_DP=y
CONFIG_DWMAC_ROCKCHIP=y
CONFIG_MFD_RK808=y
CONFIG_REGULATOR_RK808=y
CONFIG_RTC_DRV_RK808=y
CONFIG_COMMON_CLK_RK808=y
CONFIG_REGULATOR_FAN53555=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_VCTRL=y
CONFIG_KASAN=n
CONFIG_KASAN_INLINE=n
CONFIG_STACKTRACE=n
CONFIG_TMPFS=y
CONFIG_PROVE_LOCKING=n
CONFIG_DEBUG_LOCKDEP=n
CONFIG_SOFTLOCKUP_DETECTOR=n
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=n
CONFIG_FW_LOADER_COMPRESS=y
CONFIG_USB_USBNET=y
CONFIG_NETDEVICES=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_RTL8152=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_SMSC95XX=y

View File

@@ -1,136 +0,0 @@
CONFIG_LOCALVERSION="ccu"
CONFIG_DEBUG_KERNEL=y
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
CONFIG_DEVFREQ_GOV_POWERSAVE=y
CONFIG_DEVFREQ_GOV_USERSPACE=y
CONFIG_DEVFREQ_GOV_PASSIVE=y
CONFIG_DRM=y
CONFIG_DRM_ROCKCHIP=y
CONFIG_DRM_PANFROST=y
CONFIG_DRM_LIMA=y
CONFIG_DRM_PANEL_SIMPLE=y
CONFIG_DRM_MSM=y
CONFIG_DRM_I2C_ADV7511=y
CONFIG_DRM_I2C_ADV7533=y
CONFIG_PWM_CROS_EC=y
CONFIG_BACKLIGHT_PWM=y
CONFIG_ROCKCHIP_CDN_DP=n
CONFIG_SPI_ROCKCHIP=y
CONFIG_PWM_ROCKCHIP=y
CONFIG_PHY_ROCKCHIP_DP=y
CONFIG_DWMAC_ROCKCHIP=y
CONFIG_STMMAC_ETH=y
CONFIG_TYPEC_FUSB302=y
CONFIG_TYPEC=y
CONFIG_TYPEC_TCPM=y
# MSM platform bits
CONFIG_QCOM_RPMHPD=y
CONFIG_QCOM_RPMPD=y
CONFIG_SDM_GPUCC_845=y
CONFIG_SDM_VIDEOCC_845=y
CONFIG_SDM_DISPCC_845=y
CONFIG_SDM_LPASSCC_845=y
CONFIG_SDM_CAMCC_845=y
CONFIG_RESET_QCOM_PDC=y
CONFIG_DRM_TI_SN65DSI86=y
CONFIG_I2C_QCOM_GENI=y
CONFIG_SPI_QCOM_GENI=y
CONFIG_PHY_QCOM_QUSB2=y
CONFIG_PHY_QCOM_QMP=y
CONFIG_QCOM_LLCC=y
CONFIG_QCOM_SPMI_TEMP_ALARM=y
CONFIG_POWER_RESET_QCOM_PON=y
CONFIG_RTC_DRV_PM8XXX=y
CONFIG_INTERCONNECT=y
CONFIG_INTERCONNECT_QCOM=y
CONFIG_INTERCONNECT_QCOM_SDM845=y
CONFIG_INTERCONNECT_QCOM_MSM8916=y
CONFIG_INTERCONNECT_QCOM_OSM_L3=y
CONFIG_INTERCONNECT_QCOM_SC7180=y
CONFIG_QCOM_WDT=y
CONFIG_CRYPTO_DEV_QCOM_RNG=y
# db410c ethernet
CONFIG_USB_RTL8152=y
# db820c ethernet
CONFIG_ATL1C=y
CONFIG_ARCH_ALPINE=n
CONFIG_ARCH_BCM2835=n
CONFIG_ARCH_BCM_IPROC=n
CONFIG_ARCH_BERLIN=n
CONFIG_ARCH_BRCMSTB=n
CONFIG_ARCH_EXYNOS=n
CONFIG_ARCH_K3=n
CONFIG_ARCH_LAYERSCAPE=n
CONFIG_ARCH_LG1K=n
CONFIG_ARCH_HISI=n
CONFIG_ARCH_MEDIATEK=n
CONFIG_ARCH_MVEBU=n
CONFIG_ARCH_SEATTLE=n
CONFIG_ARCH_SYNQUACER=n
CONFIG_ARCH_RENESAS=n
CONFIG_ARCH_R8A774A1=n
CONFIG_ARCH_R8A774C0=n
CONFIG_ARCH_R8A7795=n
CONFIG_ARCH_R8A7796=n
CONFIG_ARCH_R8A77965=n
CONFIG_ARCH_R8A77970=n
CONFIG_ARCH_R8A77980=n
CONFIG_ARCH_R8A77990=n
CONFIG_ARCH_R8A77995=n
CONFIG_ARCH_STRATIX10=n
CONFIG_ARCH_TEGRA=n
CONFIG_ARCH_SPRD=n
CONFIG_ARCH_THUNDER=n
CONFIG_ARCH_THUNDER2=n
CONFIG_ARCH_UNIPHIER=n
CONFIG_ARCH_VEXPRESS=n
CONFIG_ARCH_XGENE=n
CONFIG_ARCH_ZX=n
CONFIG_ARCH_ZYNQMP=n
# Strip out some stuff we don't need for graphics testing, to reduce
# the build.
CONFIG_CAN=n
CONFIG_WIRELESS=n
CONFIG_RFKILL=n
CONFIG_WLAN=n
CONFIG_REGULATOR_FAN53555=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_VCTRL=y
CONFIG_KASAN=n
CONFIG_KASAN_INLINE=n
CONFIG_STACKTRACE=n
CONFIG_TMPFS=y
CONFIG_PROVE_LOCKING=n
CONFIG_DEBUG_LOCKDEP=n
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_FW_LOADER_COMPRESS=y
CONFIG_FW_LOADER_USER_HELPER=n
CONFIG_USB_USBNET=y
CONFIG_NETDEVICES=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_RTL8152=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_SMSC95XX=y
# For amlogic
CONFIG_MESON_GXL_PHY=y
CONFIG_MDIO_BUS_MUX_MESON_G12A=y

View File

@@ -1,2 +0,0 @@
[*.sh]
indent_size = 2

View File

@@ -1,14 +0,0 @@
#!/bin/sh
while true; do
devcds=`find /sys/devices/virtual/devcoredump/ -name data 2>/dev/null`
for i in $devcds; do
echo "Found a devcoredump at $i."
if cp $i /results/first.devcore; then
echo 1 > $i
echo "Saved to the job artifacts at /first.devcore"
exit 0
fi
done
sleep 10
done

View File

@@ -1,100 +0,0 @@
#!/bin/bash
# Boot script for Chrome OS devices attached to a servo debug connector, using
# NFS and TFTP to boot.
# We're run from the root of the repo, make a helper var for our paths
BM=$CI_PROJECT_DIR/install/bare-metal
# Runner config checks
if [ -z "$BM_SERIAL" ]; then
echo "Must set BM_SERIAL in your gitlab-runner config.toml [[runners]] environment"
echo "This is the CPU serial device."
exit 1
fi
if [ -z "$BM_SERIAL_EC" ]; then
echo "Must set BM_SERIAL in your gitlab-runner config.toml [[runners]] environment"
echo "This is the EC serial device for controlling board power"
exit 1
fi
if [ ! -d /nfs ]; then
echo "NFS rootfs directory needs to be mounted at /nfs by the gitlab runner"
exit 1
fi
if [ ! -d /tftp ]; then
echo "TFTP directory for this board needs to be mounted at /tftp by the gitlab runner"
exit 1
fi
# job config checks
if [ -z "$BM_KERNEL" ]; then
echo "Must set BM_KERNEL to your board's kernel FIT image"
exit 1
fi
if [ -z "$BM_ROOTFS" ]; then
echo "Must set BM_ROOTFS to your board's rootfs directory in the job's variables"
exit 1
fi
if [ -z "$BM_CMDLINE" ]; then
echo "Must set BM_CMDLINE to your board's kernel command line arguments"
exit 1
fi
set -ex
# Clear out any previous run's artifacts.
rm -rf results/
mkdir -p results
# Create the rootfs in the NFS directory. rm to make sure it's in a pristine
# state, since it's volume-mounted on the host.
rsync -a --delete $BM_ROOTFS/ /nfs/
mkdir -p /nfs/results
. $BM/rootfs-setup.sh /nfs
# Put the kernel/dtb image and the boot command line in the tftp directory for
# the board to find. For normal Mesa development, we build the kernel and
# store it in the docker container that this script is running in.
#
# However, container builds are expensive, so when you're hacking on the
# kernel, it's nice to be able to skip the half hour container build and plus
# moving that container to the runner. So, if BM_KERNEL is a URL, fetch it
# instead of looking in the container. Note that the kernel build should be
# the output of:
#
# make Image.lzma
#
# mkimage \
# -A arm64 \
# -f auto \
# -C lzma \
# -d arch/arm64/boot/Image.lzma \
# -b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \
# cheza-image.img
rm -rf /tftp/*
if echo "$BM_KERNEL" | grep -q http; then
apt install -y wget
wget $BM_KERNEL -O /tftp/vmlinuz
else
cp $BM_KERNEL /tftp/vmlinuz
fi
echo "$BM_CMDLINE" > /tftp/cmdline
set +e
python3 $BM/cros_servo_run.py \
--cpu $BM_SERIAL \
--ec $BM_SERIAL_EC
ret=$?
set -e
# Bring artifacts back from the NFS dir to the build dir where gitlab-runner
# will look for them.
cp -Rp /nfs/results/. results/
exit $ret

View File

@@ -1,150 +0,0 @@
#!/usr/bin/env python3
#
# Copyright © 2020 Google LLC
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
import argparse
import queue
import re
from serial_buffer import SerialBuffer
import sys
import threading
class CrosServoRun:
def __init__(self, cpu, ec):
# Merged FIFO for the two serial buffers, fed by threads.
self.serial_queue = queue.Queue()
self.sentinel = object()
self.threads_done = 0
self.ec_ser = SerialBuffer(
ec, "results/serial-ec.txt", "R SERIAL-EC> ")
self.cpu_ser = SerialBuffer(
cpu, "results/serial.txt", "R SERIAL-CPU> ")
self.iter_feed_ec = threading.Thread(
target=self.iter_feed_queue, daemon=True, args=(self.ec_ser.lines(),))
self.iter_feed_ec.start()
self.iter_feed_cpu = threading.Thread(
target=self.iter_feed_queue, daemon=True, args=(self.cpu_ser.lines(),))
self.iter_feed_cpu.start()
# Feed lines from our serial queues into the merged queue, marking when our
# input is done.
def iter_feed_queue(self, it):
for i in it:
self.serial_queue.put(i)
self.serial_queue.put(sentinel)
# Return the next line from the queue, counting how many threads have
# terminated and joining when done
def get_serial_queue_line(self):
line = self.serial_queue.get()
if line == self.sentinel:
self.threads_done = self.threads_done + 1
if self.threads_done == 2:
self.iter_feed_cpu.join()
self.iter_feed_ec.join()
return line
# Returns an iterator for getting the next line.
def serial_queue_lines(self):
return iter(self.get_serial_queue_line, self.sentinel)
def ec_write(self, s):
print("W SERIAL-EC> %s" % s)
self.ec_ser.serial.write(s.encode())
def cpu_write(self, s):
print("W SERIAL-CPU> %s" % s)
self.cpu_ser.serial.write(s.encode())
def run(self):
# Flush any partial commands in the EC's prompt, then ask for a reboot.
self.ec_write("\n")
self.ec_write("reboot\n")
# This is emitted right when the bootloader pauses to check for input.
# Emit a ^N character to request network boot, because we don't have a
# direct-to-netboot firmware on cheza.
for line in self.serial_queue_lines():
if re.search("load_archive: loading locale_en.bin", line):
self.cpu_write("\016")
break
# The Cheza boards have issues with failing to bring up power to
# the system sometimes, possibly dependent on ambient temperature
# in the farm.
if re.search("POWER_GOOD not seen in time", line):
print("Detected intermittent poweron failure, restarting run...")
return 2
tftp_failures = 0
for line in self.serial_queue_lines():
if re.search("---. end Kernel panic", line):
return 1
# The Cheza firmware seems to occasionally get stuck looping in
# this error state during TFTP booting, possibly based on amount of
# network traffic around it, but it'll usually recover after a
# reboot.
if re.search("R8152: Bulk read error 0xffffffbf", line):
tftp_failures += 1
if tftp_failures >= 100:
print("Detected intermittent tftp failure, restarting run...")
return 2
result = re.search("bare-metal result: (\S*)", line)
if result:
if result.group(1) == "pass":
return 0
else:
return 1
print("Reached the end of the CPU serial log without finding a result")
return 1
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--cpu', type=str,
help='CPU Serial device', required=True)
parser.add_argument(
'--ec', type=str, help='EC Serial device', required=True)
args = parser.parse_args()
servo = CrosServoRun(args.cpu, args.ec)
while True:
retval = servo.run()
if retval != 2:
break
# power down the CPU on the device
servo.ec_write("power off\n")
sys.exit(retval)
if __name__ == '__main__':
main()

View File

@@ -1,30 +0,0 @@
#!/bin/bash
set -e
STRINGS=$(mktemp)
ERRORS=$(mktemp)
trap "rm $STRINGS; rm $ERRORS;" EXIT
FILE=$1
shift 1
while getopts "f:e:" opt; do
case $opt in
f) echo "$OPTARG" >> $STRINGS;;
e) echo "$OPTARG" >> $STRINGS ; echo "$OPTARG" >> $ERRORS;;
esac
done
shift $((OPTIND -1))
echo "Waiting for $FILE to say one of following strings"
cat $STRINGS
while ! egrep -wf $STRINGS $FILE; do
sleep 2
done
if egrep -wf $ERRORS $FILE; then
exit 1
fi

View File

@@ -1,125 +0,0 @@
#!/bin/bash
BM=$CI_PROJECT_DIR/install/bare-metal
if [ -z "$BM_SERIAL" -a -z "$BM_SERIAL_SCRIPT" ]; then
echo "Must set BM_SERIAL OR BM_SERIAL_SCRIPT in your gitlab-runner config.toml [[runners]] environment"
echo "BM_SERIAL:"
echo " This is the serial device to talk to for waiting for fastboot to be ready and logging from the kernel."
echo "BM_SERIAL_SCRIPT:"
echo " This is a shell script to talk to for waiting for fastboot to be ready and logging from the kernel."
exit 1
fi
if [ -z "$BM_POWERUP" ]; then
echo "Must set BM_POWERUP in your gitlab-runner config.toml [[runners]] environment"
echo "This is a shell script that should reset the device and begin its boot sequence"
echo "such that it pauses at fastboot."
exit 1
fi
if [ -z "$BM_POWERDOWN" ]; then
echo "Must set BM_POWERDOWN in your gitlab-runner config.toml [[runners]] environment"
echo "This is a shell script that should power off the device."
exit 1
fi
if [ -z "$BM_FASTBOOT_SERIAL" ]; then
echo "Must set BM_FASTBOOT_SERIAL in your gitlab-runner config.toml [[runners]] environment"
echo "This must be the a stable-across-resets fastboot serial number."
exit 1
fi
if [ -z "$BM_KERNEL" ]; then
echo "Must set BM_KERNEL to your board's kernel vmlinuz or Image.gz in the job's variables:"
exit 1
fi
if [ -z "$BM_DTB" ]; then
echo "Must set BM_DTB to your board's DTB file in the job's variables:"
exit 1
fi
if [ -z "$BM_ROOTFS" ]; then
echo "Must set BM_ROOTFS to your board's rootfs directory in the job's variables:"
exit 1
fi
if [ -z "$BM_WEBDAV_IP" -o -z "$BM_WEBDAV_PORT" ]; then
echo "BM_WEBDAV_IP and/or BM_WEBDAV_PORT is not set - no results will be uploaded from DUT!"
WEBDAV_CMDLINE=""
else
WEBDAV_CMDLINE="webdav=http://$BM_WEBDAV_IP:$BM_WEBDAV_PORT"
fi
set -ex
# Clear out any previous run's artifacts.
rm -rf results/
mkdir -p results
# Create the rootfs in a temp dir
rsync -a --delete $BM_ROOTFS/ rootfs/
. $BM/rootfs-setup.sh rootfs
# Finally, pack it up into a cpio rootfs. Skip the vulkan CTS since none of
# these devices use it and it would take up space in the initrd.
pushd rootfs
find -H | \
egrep -v "external/(openglcts|vulkancts|amber|glslang|spirv-tools)" |
egrep -v "traces-db|apitrace|renderdoc|python" | \
cpio -H newc -o | \
xz --check=crc32 -T4 - > $CI_PROJECT_DIR/rootfs.cpio.gz
popd
# Make the combined kernel image and dtb for passing to fastboot. For normal
# Mesa development, we build the kernel and store it in the docker container
# that this script is running in.
#
# However, container builds are expensive, so when you're hacking on the
# kernel, it's nice to be able to skip the half hour container build and plus
# moving that container to the runner. So, if BM_KERNEL+BM_DTB are URLs,
# fetch them instead of looking in the container.
if echo "$BM_KERNEL $BM_DTB" | grep -q http; then
apt install -y wget
wget $BM_KERNEL -O kernel
wget $BM_DTB -O dtb
cat kernel dtb > Image.gz-dtb
rm kernel dtb
else
cat $BM_KERNEL $BM_DTB > Image.gz-dtb
fi
abootimg \
--create artifacts/fastboot.img \
-k Image.gz-dtb \
-r rootfs.cpio.gz \
-c cmdline="$BM_CMDLINE $WEBDAV_CMDLINE"
rm Image.gz-dtb
# Start nginx to get results from DUT
if [ -n "$WEBDAV_CMDLINE" ]; then
ln -s `pwd`/results /results
sed -i s/80/$BM_WEBDAV_PORT/g /etc/nginx/sites-enabled/default
sed -i s/www-data/root/g /etc/nginx/nginx.conf
nginx
fi
export PATH=$BM:$PATH
# Start background command for talking to serial if we have one.
if [ -n "$BM_SERIAL_SCRIPT" ]; then
$BM_SERIAL_SCRIPT | tee results/serial-output.txt &
while [ ! -e results/serial-output.txt ]; do
sleep 1
done
fi
$BM/fastboot_run.py \
--dev="$BM_SERIAL" \
--fbserial="$BM_FASTBOOT_SERIAL" \
--powerup="$BM_POWERUP" \
--powerdown="$BM_POWERDOWN"

View File

@@ -1,102 +0,0 @@
#!/usr/bin/env python3
#
# Copyright © 2020 Google LLC
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
import argparse
import os
import re
from serial_buffer import SerialBuffer
import sys
import threading
class FastbootRun:
def __init__(self, args):
self.powerup = args.powerup
self.ser = SerialBuffer(args.dev, "results/serial-output.txt", "R SERIAL> ")
self.fastboot="fastboot boot -s {ser} artifacts/fastboot.img".format(ser=args.fbserial)
def logged_system(self, cmd):
print("Running '{}'".format(cmd))
return os.system(cmd)
def run(self):
if self.logged_system(self.powerup) != 0:
return 1
fastboot_ready = False
for line in self.ser.lines():
if re.search("fastboot: processing commands", line) or \
re.search("Listening for fastboot command on", line):
fastboot_ready = True
break
if re.search("data abort", line):
return 1
if not fastboot_ready:
print("Failed to get to fastboot prompt")
return 1
if self.logged_system(self.fastboot) != 0:
return 1
for line in self.ser.lines():
if re.search("---. end Kernel panic", line):
return 1
# The db820c boards intermittently reboot. Just restart the run
# when if we see a reboot after we got past fastboot.
if re.search("PON REASON", line):
print("Detected spontaneous reboot, restarting run...")
return 2
result = re.search("bare-metal result: (\S*)", line)
if result:
if result.group(1) == "pass":
return 0
else:
return 1
print("Reached the end of the CPU serial log without finding a result")
return 1
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--dev', type=str, help='Serial device (otherwise reading from serial-output.txt)')
parser.add_argument('--powerup', type=str, help='shell command for rebooting', required=True)
parser.add_argument('--powerdown', type=str, help='shell command for powering off', required=True)
parser.add_argument('--fbserial', type=str, help='fastboot serial number of the board', required=True)
args = parser.parse_args()
fastboot = FastbootRun(args)
while True:
retval = fastboot.run()
if retval != 2:
break
fastboot.logged_system(args.powerdown)
sys.exit(retval)
if __name__ == '__main__':
main()

View File

@@ -1,10 +0,0 @@
#!/bin/bash
relay=$1
if [ -z "$relay" ]; then
echo "Must supply a relay arg"
exit 1
fi
$CI_PROJECT_DIR/install/bare-metal/google-power-relay.py off $relay

View File

@@ -1,19 +0,0 @@
#!/usr/bin/python3
import sys
import serial
mode = sys.argv[1]
relay = sys.argv[2]
# our relays are "off" means "board is powered".
mode_swap = {
"on" : "off",
"off" : "on",
}
mode = mode_swap[mode]
ser = serial.Serial('/dev/ttyACM0', 115200, timeout=2)
command = "relay {} {}\n\r".format(mode, relay)
ser.write(command.encode())
ser.close()

View File

@@ -1,12 +0,0 @@
#!/bin/bash
relay=$1
if [ -z "$relay" ]; then
echo "Must supply a relay arg"
exit 1
fi
$CI_PROJECT_DIR/install/bare-metal/google-power-relay.py off $relay
sleep 5
$CI_PROJECT_DIR/install/bare-metal/google-power-relay.py on $relay

View File

@@ -1,46 +0,0 @@
#!/bin/sh
set -ex
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devtmpfs none /dev || echo possibly already mounted
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
mount -t tmpfs tmpfs /tmp
. /set-job-env-vars.sh
# Store Mesa's disk cache under /tmp, rather than sending it out over NFS.
export XDG_CACHE_HOME=/tmp
echo "nameserver 8.8.8.8" > /etc/resolv.conf
# Not all DUTs have network
sntp -sS pool.ntp.org || true
# Start a little daemon to capture the first devcoredump we encounter. (They
# expire after 5 minutes, so we poll for them).
./capture-devcoredump.sh &
if sh $BARE_METAL_TEST_SCRIPT; then
OK=1
else
OK=0
fi
# upload artifacts via webdav
WEBDAV=$(cat /proc/cmdline | tr " " "\n" | grep webdav | cut -d '=' -f 2 || true)
if [ -n "$WEBDAV" ]; then
find /results -type f -exec curl -T {} $WEBDAV/{} \;
fi
if [ $OK -eq 1 ]; then
echo "bare-metal result: pass"
else
echo "bare-metal result: fail"
fi
# Wait until the job would have timed out anyway, so we don't spew a "init
# exited" panic.
sleep 6000

View File

@@ -1,20 +0,0 @@
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location / {
dav_methods PUT;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:r;
client_body_temp_path /tmp;
client_max_body_size 0;
create_full_put_path on;
root /results;
autoindex on;
}
}

View File

@@ -1,68 +0,0 @@
#!/bin/bash
rootfs_dst=$1
mkdir -p $rootfs_dst/results
# Set up the init script that brings up the system.
cp $BM/init.sh $rootfs_dst/init
cp $BM/capture-devcoredump.sh $rootfs_dst/
set +x
# Pass through relevant env vars from the gitlab job to the baremetal init script
touch $rootfs_dst/set-job-env-vars.sh
chmod +x $rootfs_dst/set-job-env-vars.sh
for var in \
BARE_METAL_TEST_SCRIPT \
CI_COMMIT_BRANCH \
CI_COMMIT_TITLE \
CI_JOB_JWT \
CI_JOB_ID \
CI_JOB_URL \
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME \
CI_MERGE_REQUEST_TITLE \
CI_NODE_INDEX \
CI_NODE_TOTAL \
CI_PIPELINE_ID \
CI_PROJECT_PATH \
CI_RUNNER_DESCRIPTION \
DEQP_CASELIST_FILTER \
DEQP_CONFIG \
DEQP_EXPECTED_FAILS \
DEQP_EXPECTED_RENDERER \
DEQP_HEIGHT \
DEQP_NO_SAVE_RESULTS \
DEQP_FLAKES \
DEQP_PARALLEL \
DEQP_RESULTS_DIR \
DEQP_SKIPS \
DEQP_VARIANT \
DEQP_VER \
DEQP_WIDTH \
DEVICE_NAME \
DRIVER_NAME \
FD_MESA_DEBUG \
FLAKES_CHANNEL \
IR3_SHADER_DEBUG \
MESA_GL_VERSION_OVERRIDE \
MESA_GLSL_VERSION_OVERRIDE \
MESA_GLES_VERSION_OVERRIDE \
NIR_VALIDATE \
TRACIE_NO_UNIT_TESTS \
TRACIE_UPLOAD_TO_MINIO \
TU_DEBUG \
VK_DRIVER \
; do
if [ -n "${!var+x}" ]; then
echo "export $var=${!var@Q}" >> $rootfs_dst/set-job-env-vars.sh
fi
done
echo "Variables passed through:"
cat $rootfs_dst/set-job-env-vars.sh
set -x
# Add the Mesa drivers we built, and make a consistent symlink to them.
mkdir -p $rootfs_dst/$CI_PROJECT_DIR
tar -C $rootfs_dst/$CI_PROJECT_DIR/ -xf $CI_PROJECT_DIR/artifacts/install.tar
ln -sf $CI_PROJECT_DIR/install $rootfs_dst/install

View File

@@ -1,147 +0,0 @@
#!/usr/bin/env python3
#
# Copyright © 2020 Google LLC
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
import argparse
from datetime import datetime, timezone
import queue
import serial
import threading
import time
class SerialBuffer:
def __init__(self, dev, filename, prefix):
self.filename = filename
self.dev = dev
if dev:
self.f = open(filename, "wb+")
self.serial = serial.Serial(dev, 115200, timeout=10)
else:
self.f = open(filename, "rb")
self.byte_queue = queue.Queue()
self.line_queue = queue.Queue()
self.prefix = prefix
self.sentinel = object()
if self.dev:
self.read_thread = threading.Thread(
target=self.serial_read_thread_loop, daemon=True)
else:
self.read_thread = threading.Thread(
target=self.serial_file_read_thread_loop, daemon=True)
self.read_thread.start()
self.lines_thread = threading.Thread(
target=self.serial_lines_thread_loop, daemon=True)
self.lines_thread.start()
# Thread that just reads the bytes from the serial device to try to keep from
# buffer overflowing it.
def serial_read_thread_loop(self):
greet = "Serial thread reading from %s\n" % self.dev
self.byte_queue.put(greet.encode())
while True:
try:
self.byte_queue.put(self.serial.read())
except Exception as err:
print(self.prefix + str(err))
self.byte_queue.put(self.sentinel)
break
# Thread that just reads the bytes from the file of serial output that some
# other process is appending to.
def serial_file_read_thread_loop(self):
greet = "Serial thread reading from %s\n" % self.filename
self.byte_queue.put(greet.encode())
while True:
line = self.f.readline()
if line:
self.byte_queue.put(line)
else:
time.sleep(0.1)
# Thread that processes the stream of bytes to 1) log to stdout, 2) log to
# file, 3) add to the queue of lines to be read by program logic
def serial_lines_thread_loop(self):
line = bytearray()
while True:
bytes = self.byte_queue.get(block=True)
if bytes == self.sentinel:
self.read_thread.join()
self.line_queue.put(self.sentinel)
break
# Write our data to the output file if we're the ones reading from
# the serial device
if self.dev:
self.f.write(bytes)
self.f.flush()
for b in bytes:
line.append(b)
if b == b'\n'[0]:
line = line.decode(errors="replace")
time = datetime.now().strftime('%y-%m-%d %H:%M:%S')
print("{endc}{time} {prefix}{line}".format(
time=time, prefix=self.prefix, line=line, endc='\033[0m'), flush=True, end='')
self.line_queue.put(line)
line = bytearray()
def get_line(self):
line = self.line_queue.get()
if line == self.sentinel:
self.lines_thread.join()
return line
def lines(self):
return iter(self.get_line, self.sentinel)
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--dev', type=str, help='Serial device')
parser.add_argument('--file', type=str,
help='Filename for serial output', required=True)
parser.add_argument('--prefix', type=str,
help='Prefix for logging serial to stdout', nargs='?')
args = parser.parse_args()
ser = SerialBuffer(args.dev, args.file, args.prefix or "")
for line in ser.lines():
# We're just using this as a logger, so eat the produced lines and drop
# them
pass
if __name__ == '__main__':
main()

View File

@@ -1,36 +0,0 @@
#!/bin/bash
set -ex
# Need an unreleased version of Waffle for surfaceless support in apitrace
# Replace this build with the Debian package once that's possible
WAFFLE_VERSION="e3c995d9a2693b687501715b6550619922346089"
git clone https://gitlab.freedesktop.org/mesa/waffle.git --single-branch --no-checkout /waffle
pushd /waffle
git checkout "$WAFFLE_VERSION"
cmake -B_build -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release $EXTRA_CMAKE_ARGS .
make -C _build install
mkdir -p build/lib build/bin
cp _build/lib/libwaffle-1.so build/lib/libwaffle-1.so.0
cp _build/bin/wflinfo build/bin/wflinfo
${STRIP_CMD:-strip} build/lib/* build/bin/*
find . -not -path './build' -not -path './build/*' -delete
popd
APITRACE_VERSION="9.0"
git clone https://github.com/apitrace/apitrace.git --single-branch --no-checkout /apitrace
pushd /apitrace
git checkout "$APITRACE_VERSION"
# Note: The cmake stuff for waffle in apitrace fails to use waffle's library
# directory. Just force the issue here.
env LDFLAGS="-L/usr/local/lib" \
cmake -G Ninja -B_build -H. -DCMAKE_BUILD_TYPE=Release -DENABLE_GUI=False -DENABLE_WAFFLE=on -DWaffle_DIR=/usr/local/lib/cmake/Waffle/ $EXTRA_CMAKE_ARGS
ninja -C _build
mkdir build
cp _build/apitrace build
cp _build/eglretrace build
${STRIP_CMD:-strip} build/*
find . -not -path './build' -not -path './build/*' -delete
popd

View File

@@ -1,9 +0,0 @@
#!/bin/bash
set -ex
cargo install deqp-runner \
-j ${FDO_CI_CONCURRENT:-4} \
--version 0.1.5 \
--root /usr/local \
$EXTRA_CARGO_ARGS

View File

@@ -1,67 +0,0 @@
#!/bin/bash
set -ex
git config --global user.email "mesa@example.com"
git config --global user.name "Mesa CI"
git clone \
https://github.com/KhronosGroup/VK-GL-CTS.git \
-b vulkan-cts-1.2.3.2 \
/VK-GL-CTS
pushd /VK-GL-CTS
# cherry-pick fix for surfaceless config choosing:
git cherry-pick -x 8f3bfc6c7def0c0cb452d5dadf31aa7fef242365
# --insecure is due to SSL cert failures hitting sourceforge for zlib and
# libpng (sigh). The archives get their checksums checked anyway, and git
# always goes through ssh or https.
python3 external/fetch_sources.py --insecure
mkdir -p /deqp
# Save the testlog stylesheets:
cp doc/testlog-stylesheet/testlog.{css,xsl} /deqp
popd
pushd /deqp
cmake -G Ninja \
-DDEQP_TARGET=${DEQP_TARGET:-x11_glx} \
-DCMAKE_BUILD_TYPE=Release \
$EXTRA_CMAKE_ARGS \
/VK-GL-CTS
ninja
# Copy out the mustpass lists we want.
mkdir /deqp/mustpass
cp /VK-GL-CTS/external/vulkancts/mustpass/master/vk-default.txt \
/deqp/mustpass/vk-master.txt
cp \
/deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.6.x/*.txt \
/deqp/mustpass/.
cp \
/deqp/external/openglcts/modules/gl_cts/data/mustpass/gl/khronos_mustpass/4.6.1.x/*-master.txt \
/deqp/mustpass/.
# Save *some* executor utils, but otherwise strip things down
# to reduct deqp build size:
mkdir /deqp/executor.save
cp /deqp/executor/testlog-to-* /deqp/executor.save
rm -rf /deqp/executor
mv /deqp/executor.save /deqp/executor
rm -rf /deqp/external/openglcts/modules/gl_cts/data/mustpass
rm -rf /deqp/external/openglcts/modules/cts-runner
rm -rf /deqp/modules/internal
rm -rf /deqp/execserver
rm -rf /deqp/modules/egl
rm -rf /deqp/framework
find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf
${STRIP_CMD:-strip} external/vulkancts/modules/vulkan/deqp-vk
${STRIP_CMD:-strip} external/openglcts/modules/glcts
${STRIP_CMD:-strip} modules/*/deqp-*
du -sh *
rm -rf /VK-GL-CTS
popd

View File

@@ -1,14 +0,0 @@
#!/bin/bash
set -ex
git clone https://github.com/ValveSoftware/Fossilize.git
cd Fossilize
git checkout 6b5b570008c9ab5269e341f04c811fe49a1bb72c
git submodule update --init
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -G Ninja
ninja -C . install
cd ../..
rm -rf Fossilize

View File

@@ -1,21 +0,0 @@
#!/bin/bash
set -ex
GFXRECONSTRUCT_VERSION=57c588c04af631d1d6d381a48e2b9283f9d9d528
# Using the "dev" branch by now because it solves a crash and will allow us to
# use the gfxreconstruct-info tool
git clone https://github.com/LunarG/gfxreconstruct.git --single-branch -b dev --no-checkout /gfxreconstruct
pushd /gfxreconstruct
git checkout "$GFXRECONSTRUCT_VERSION"
git submodule update --init
git submodule update
cmake -G Ninja -B_build -H. -DCMAKE_BUILD_TYPE=Release
ninja -C _build gfxrecon-replay gfxrecon-info
mkdir -p build/bin
install _build/tools/replay/gfxrecon-replay build/bin
install _build/tools/info/gfxrecon-info build/bin
strip build/bin/*
find . -not -path './build' -not -path './build/*' -delete
popd

View File

@@ -1,37 +0,0 @@
#!/bin/bash
set -ex
export LLVM_CONFIG="llvm-config-10"
$LLVM_CONFIG --version
git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator -b llvm_release_100 --depth 1 /SPIRV-LLVM-Translator
pushd /SPIRV-LLVM-Translator
cmake -G Ninja -DLLVM_BUILD_TOOLS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_INSTALL_PREFIX=`$LLVM_CONFIG --prefix`
ninja
ninja install
popd
git config --global user.email "mesa@example.com"
git config --global user.name "Mesa CI"
git clone \
https://github.com/llvm/llvm-project \
--depth 1 \
/llvm-project
mkdir /libclc
pushd /libclc
cmake -G Ninja -DLLVM_CONFIG=$LLVM_CONFIG -DLIBCLC_TARGETS_TO_BUILD="spirv-mesa3d-;spirv64-mesa3d-" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr /llvm-project/libclc
ninja
ninja install
popd
# workaroud cmake vs debian packaging.
mkdir -p /usr/lib/clc
ln -s /usr/share/clc/spirv64-mesa3d-.spv /usr/lib/clc/
ln -s /usr/share/clc/spirv-mesa3d-.spv /usr/lib/clc/
du -sh *
rm -rf /libclc /llvm-project /SPIRV-LLVM-Translator

View File

@@ -1,14 +0,0 @@
#!/bin/bash
set -ex
export LIBDRM_VERSION=libdrm-2.4.102
wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.xz
tar -xvf $LIBDRM_VERSION.tar.xz && rm $LIBDRM_VERSION.tar.xz
cd $LIBDRM_VERSION
meson build -D vc4=false -D freedreno=false -D etnaviv=false $EXTRA_MESON_ARGS
ninja -C build install
cd ..
rm -rf $LIBDRM_VERSION

View File

@@ -1,17 +0,0 @@
#!/bin/bash
set -ex
if [ -n "$INCLUDE_OPENCL_TESTS" ]; then
PIGLIT_OPTS="-DPIGLIT_BUILD_CL_TESTS=ON"
fi
git clone https://gitlab.freedesktop.org/mesa/piglit.git --single-branch --no-checkout /piglit
pushd /piglit
git checkout 404862743cf8a7b37a4e3a93b4ba1858d59cd4ab
patch -p1 <$OLDPWD/.gitlab-ci/piglit/disable-vs_in.diff
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release $PIGLIT_OPTS
ninja
find -name .git -o -name '*ninja*' -o -iname '*cmake*' -o -name '*.[chao]' | xargs rm -rf
rm -rf target_api
popd

View File

@@ -1,17 +0,0 @@
#!/bin/bash
set -ex
RENDERDOC_VERSION=da02e88201dc3b64316fc33ce6ff69cc729689aa
git clone https://github.com/baldurk/renderdoc.git --single-branch --no-checkout /renderdoc
pushd /renderdoc
git checkout "$RENDERDOC_VERSION"
cmake -G Ninja -B_build -H. -DENABLE_QRENDERDOC=false -DCMAKE_BUILD_TYPE=Release $EXTRA_CMAKE_ARGS
ninja -C _build
mkdir -p build/lib
${STRIP_CMD:-strip} _build/lib/*.so
cp _build/lib/renderdoc.so build/lib
cp _build/lib/librenderdoc.so build/lib
find . -not -path './build' -not -path './build/*' -delete
popd

View File

@@ -1,31 +0,0 @@
#!/bin/bash
# Note that this script is not actually "building" rust, but build- is the
# convention for the shared helpers for putting stuff in our containers.
set -ex
# cargo (and rustup) wants to store stuff in $HOME/.cargo, and binaries in
# $HOME/.cargo/bin. Make bin a link to a public bin directory so the commands
# are just available to all build jobs.
mkdir -p $HOME/.cargo
ln -s /usr/local/bin $HOME/.cargo/bin
# For rust in Mesa, we use rustup to install. This lets us pick an arbitrary
# version of the compiler, rather than whatever the container's Debian comes
# with.
#
# Pick the rust compiler (1.41) available in Debian stable, and pick a specific
# snapshot from rustup so the compiler doesn't drift on us.
wget https://sh.rustup.rs -O - | \
sh -s -- -y --default-toolchain 1.41.1-2020-02-27
# Set up a config script for cross compiling -- cargo needs your system cc for
# linking in cross builds, but doesn't know what you want to use for system cc.
cat > /root/.cargo/config <<EOF
[target.armv7-unknown-linux-gnueabihf]
linker = "arm-linux-gnueabihf-gcc"
[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"
EOF

View File

@@ -1,14 +0,0 @@
#!/bin/bash
set -ex
git clone --depth 1 https://github.com/KhronosGroup/SPIRV-Tools SPIRV-Tools
pushd SPIRV-Tools
pushd external
git clone --depth 1 https://github.com/KhronosGroup/SPIRV-Headers
popd
cmake -G Ninja -B_build -H. -DCMAKE_BUILD_TYPE=Release
ninja -C _build
ninja -C _build install
popd
rm -rf SPIRV-Tools

View File

@@ -1,20 +0,0 @@
#!/bin/bash
set -ex
mkdir -p /epoxy
pushd /epoxy
wget -qO- https://github.com/anholt/libepoxy/releases/download/1.5.4/libepoxy-1.5.4.tar.xz | tar -xJ --strip-components=1
meson build/ $EXTRA_MESON_ARGS
ninja -C build install
popd
rm -rf /epoxy
VIRGLRENDERER_VERSION=43148d1115a12219a0560a538c9872d07c28c558
git clone https://gitlab.freedesktop.org/virgl/virglrenderer.git --single-branch --no-checkout /virglrenderer
pushd /virglrenderer
git checkout "$VIRGLRENDERER_VERSION"
meson build/ $EXTRA_MESON_ARGS
ninja -C build install
popd
rm -rf /virglrenderer

View File

@@ -1,29 +0,0 @@
#!/bin/bash
set -ex
VULKANTOOLS_VERSION=1862c6a47b64cd09156205d7f7e6b3bfcea76390
git clone https://github.com/LunarG/VulkanTools.git --single-branch --no-checkout /VulkanTools
pushd /VulkanTools
git checkout "$VULKANTOOLS_VERSION"
./update_external_sources.sh
mkdir _build
./scripts/update_deps.py --dir=_build --config=release --generator=Ninja
cmake -G Ninja -B_build -H. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/VulkanTools/build \
-DBUILD_TESTS=OFF \
-DBUILD_VLF=OFF \
-DBUILD_VKTRACE=OFF \
-DBUILD_VIA=OFF \
-DBUILD_VKTRACE_REPLAY=OFF \
-C_build/helper.cmake
ninja -C _build VkLayer_screenshot VkLayer_screenshot-staging-json
mkdir -p build/etc/vulkan/explicit_layer.d
mkdir build/lib
install _build/layersvt/staging-json/VkLayer_screenshot.json build/etc/vulkan/explicit_layer.d
install _build/layersvt/libVkLayer_screenshot.so build/lib
strip build/lib/*
find . -not -path './build' -not -path './build/*' -delete
popd

View File

@@ -1,60 +0,0 @@
#!/bin/bash
set -ex
EPHEMERAL="\
rdfind \
unzip \
"
apt-get install -y --no-remove $EPHEMERAL
# Fetch the NDK and extract just the toolchain we want.
ndk=android-ndk-r21d
wget -O $ndk.zip https://dl.google.com/android/repository/$ndk-linux-x86_64.zip
unzip -d / $ndk.zip "$ndk/toolchains/llvm/*"
rm $ndk.zip
# Since it was packed as a zip file, symlinks/hardlinks got turned into
# duplicate files. Turn them into hardlinks to save on container space.
rdfind -makehardlinks true -makeresultsfile false /android-ndk-r21d/
# Drop some large tools we won't use in this build.
find /android-ndk-r21d/ -type f | egrep -i "clang-check|clang-tidy|lldb" | xargs rm -f
sh .gitlab-ci/create-android-ndk-pc.sh /$ndk zlib.pc "" "-lz" "1.2.3"
sh .gitlab-ci/create-android-cross-file.sh /$ndk x86_64-linux-android x86_64 x86_64
sh .gitlab-ci/create-android-cross-file.sh /$ndk i686-linux-android x86 x86
sh .gitlab-ci/create-android-cross-file.sh /$ndk aarch64-linux-android arm armv8
sh .gitlab-ci/create-android-cross-file.sh /$ndk arm-linux-androideabi arm armv7hl armv7a-linux-androideabi
# Not using build-libdrm.sh because we don't want its cleanup after building
# each arch. Fetch and extract now.
export LIBDRM_VERSION=libdrm-2.4.102
wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.xz
tar -xf $LIBDRM_VERSION.tar.xz && rm $LIBDRM_VERSION.tar.xz
for arch in \
x86_64-linux-android \
i686-linux-android \
aarch64-linux-android \
arm-linux-androideabi ; do
cd $LIBDRM_VERSION
rm -rf build-$arch
meson build-$arch \
--cross-file=/cross_file-$arch.txt \
--libdir=lib/$arch \
-Dlibkms=false \
-Dnouveau=false \
-Dvc4=false \
-Detnaviv=false \
-Dfreedreno=false \
-Dintel=false \
-Dcairo-tests=false
ninja -C build-$arch install
cd ..
done
rm -rf $LIBDRM_VERSION
apt-get purge -y $EPHEMERAL

View File

@@ -1,5 +0,0 @@
#!/bin/bash
arch=arm64
. .gitlab-ci/container/baremetal_build.sh

View File

@@ -1,56 +0,0 @@
#!/bin/bash
set -e
set -o xtrace
apt-get -y install ca-certificates
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
apt-get update
apt-get -y install \
abootimg \
android-sdk-ext4-utils \
autoconf \
automake \
bc \
bison \
ccache \
cmake \
debootstrap \
fastboot \
flex \
g++ \
git \
kmod \
lavacli \
libdrm-dev \
libelf-dev \
libexpat1-dev \
llvm-8-dev \
pkg-config \
python \
python3-mako \
python3-pil \
python3-requests \
python3-pip \
python3-setuptools \
unzip \
wget \
xz-utils \
zlib1g-dev
pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366
apt install -y --no-remove -t buster-backports \
meson
arch=armhf
. .gitlab-ci/container/cross_build.sh
. .gitlab-ci/container/container_pre_build.sh
# dependencies where we want a specific version
EXTRA_MESON_ARGS=
. .gitlab-ci/build-libdrm.sh
. .gitlab-ci/container/container_post_build.sh

View File

@@ -1,45 +0,0 @@
#!/bin/bash
set -e
set -o xtrace
############### Install packages for building
apt-get install -y ca-certificates
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
apt-get update
apt-get install -y --no-remove \
abootimg \
android-sdk-ext4-utils \
bc \
bison \
bzip2 \
ccache \
cmake \
cpio \
g++ \
debootstrap \
fastboot \
flex \
git \
netcat \
nginx-full \
python3-distutils \
python3-minimal \
python3-serial \
python3.7 \
pkg-config \
procps \
rsync \
u-boot-tools \
unzip
apt install -t buster-backports -y --no-remove \
meson
# setup nginx
sed -i '/gzip_/ s/#\ //g' /etc/nginx/nginx.conf
cp .gitlab-ci/bare-metal/nginx-default-site /etc/nginx/sites-enabled/default
. .gitlab-ci/container/container_post_build.sh

View File

@@ -1,60 +0,0 @@
#!/bin/bash
set -e
set -o xtrace
ROOTFS=/lava-files/rootfs-${arch}
dpkg --add-architecture $arch
apt-get update
# Cross-build test deps
BAREMETAL_EPHEMERAL=" \
autoconf \
automake \
crossbuild-essential-$arch \
git-lfs \
libdrm-dev:$arch \
libboost-dev:$arch \
libegl1-mesa-dev:$arch \
libelf-dev:$arch \
libexpat1-dev:$arch \
libffi-dev:$arch \
libgbm-dev:$arch \
libgles2-mesa-dev:$arch \
libpciaccess-dev:$arch \
libpcre3-dev:$arch \
libpng-dev:$arch \
libpython3-dev:$arch \
libstdc++6:$arch \
libtinfo-dev:$arch \
libegl1-mesa-dev:$arch \
libvulkan-dev:$arch \
libxcb-keysyms1-dev:$arch \
libpython3-dev:$arch \
python3-dev \
qt5-default \
qt5-qmake \
qtbase5-dev:$arch \
"
apt-get install -y --no-remove $BAREMETAL_EPHEMERAL
mkdir /var/cache/apt/archives/$arch
############### Create cross-files
. .gitlab-ci/create-cross-file.sh $arch
. .gitlab-ci/container/container_pre_build.sh
############### Create rootfs
KERNEL_URL=https://github.com/anholt/linux/archive/cheza-pagetables-2020-09-04.tar.gz
DEBIAN_ARCH=$arch INCLUDE_VK_CTS=1 . .gitlab-ci/container/lava_build.sh
############### Uninstall the build software
apt-get purge -y $BAREMETAL_EPHEMERAL
. .gitlab-ci/container/container_post_build.sh

View File

@@ -1,8 +0,0 @@
#!/bin/sh
apt-get autoremove -y --purge
# Clean up any build cache for rust.
rm -rf /.cargo
ccache --show-stats

View File

@@ -1,31 +0,0 @@
#!/bin/sh
# Common setup among container builds before we get to building code.
export CCACHE_COMPILERCHECK=content
export CCACHE_COMPRESS=true
export CCACHE_DIR=/cache/mesa/ccache
export PATH=/usr/lib/ccache:$PATH
# CMake ignores $PATH, so we have to force CC/GCC to the ccache versions.
# Watch out, you can't have spaces in here because the renderdoc build fails.
export CC="/usr/lib/ccache/gcc"
export CXX="/usr/lib/ccache/g++"
# Force linkers to gold, since it's so much faster for building. We can't use
# lld because we're on old debian and it's buggy. ming fails meson builds
# with it with "meson.build:21:0: ERROR: Unable to determine dynamic linker"
find /usr/bin -name \*-ld -o -name ld | \
grep -v mingw | \
xargs -n 1 -I '{}' ln -sf '{}.gold' '{}'
ccache --show-stats
# Make a wrapper script for ninja to always include the -j flags
echo '#!/bin/sh -x' > /usr/local/bin/ninja
echo '/usr/bin/ninja -j${FDO_CI_CONCURRENT:-4} "$@"' >> /usr/local/bin/ninja
chmod +x /usr/local/bin/ninja
# Set MAKEFLAGS so that all make invocations in container builds include the
# flags (doesn't apply to non-container builds, but we don't run make there)
export MAKEFLAGS="-j${FDO_CI_CONCURRENT:-4}"

View File

@@ -1,48 +0,0 @@
#!/bin/bash
set -e
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
# Ephemeral packages (installed for this script and removed again at the end)
STABLE_EPHEMERAL=" \
libpciaccess-dev:$arch
"
dpkg --add-architecture $arch
apt-get update
apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
crossbuild-essential-$arch \
libelf-dev:$arch \
libexpat1-dev:$arch \
libffi-dev:$arch \
libstdc++6:$arch \
libtinfo-dev:$arch \
wget
if [[ $arch == "armhf" ]]; then
LLVM=llvm-7-dev
else
LLVM=llvm-8-dev
fi
apt-get install -y --no-remove -t buster-backports \
$LLVM:$arch
. .gitlab-ci/create-cross-file.sh $arch
. .gitlab-ci/container/container_pre_build.sh
# dependencies where we want a specific version
EXTRA_MESON_ARGS="--cross-file=/cross_file-${arch}.txt -D libdir=lib/$(dpkg-architecture -A $arch -qDEB_TARGET_MULTIARCH)"
. .gitlab-ci/build-libdrm.sh
apt-get purge -y \
$STABLE_EPHEMERAL
. .gitlab-ci/container/container_post_build.sh

View File

@@ -1,5 +0,0 @@
#!/bin/bash
arch=i386
. .gitlab-ci/container/cross_build.sh

View File

@@ -1,272 +0,0 @@
#!/bin/bash
set -e
set -o xtrace
check_minio()
{
MINIO_PATH="minio-packet.freedesktop.org/mesa-lava/$1/${DISTRIBUTION_TAG}/${DEBIAN_ARCH}"
if wget -q --method=HEAD "https://${MINIO_PATH}/done"; then
exit
fi
}
# If remote files are up-to-date, skip rebuilding them
check_minio "mesa/mesa"
check_minio "${CI_PROJECT_PATH}"
. .gitlab-ci/container/container_pre_build.sh
# Install rust, which we'll be using for deqp-runner. It will be cleaned up at the end.
. .gitlab-ci/build-rust.sh
if [[ "$DEBIAN_ARCH" = "arm64" ]]; then
GCC_ARCH="aarch64-linux-gnu"
KERNEL_ARCH="arm64"
DEFCONFIG="arch/arm64/configs/defconfig"
DEVICE_TREES="arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dtb arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dtb arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dtb arch/arm64/boot/dts/qcom/apq8016-sbc.dtb arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dtb"
KERNEL_IMAGE_NAME="Image"
elif [[ "$DEBIAN_ARCH" = "armhf" ]]; then
GCC_ARCH="arm-linux-gnueabihf"
KERNEL_ARCH="arm"
DEFCONFIG="arch/arm/configs/multi_v7_defconfig"
DEVICE_TREES="arch/arm/boot/dts/rk3288-veyron-jaq.dtb arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb"
KERNEL_IMAGE_NAME="zImage"
. .gitlab-ci/create-cross-file.sh armhf
else
GCC_ARCH="x86_64-linux-gnu"
KERNEL_ARCH="x86_64"
DEFCONFIG="arch/x86/configs/x86_64_defconfig"
DEVICE_TREES=""
KERNEL_IMAGE_NAME="bzImage"
fi
# Determine if we're in a cross build.
if [[ -e /cross_file-$DEBIAN_ARCH.txt ]]; then
EXTRA_MESON_ARGS="--cross-file /cross_file-$DEBIAN_ARCH.txt"
EXTRA_CMAKE_ARGS="-DCMAKE_TOOLCHAIN_FILE=/toolchain-$DEBIAN_ARCH.cmake"
if [ $DEBIAN_ARCH = arm64 ]; then
RUST_TARGET="aarch64-unknown-linux-gnu"
elif [ $DEBIAN_ARCH = armhf ]; then
RUST_TARGET="armv7-unknown-linux-gnueabihf"
fi
rustup target add $RUST_TARGET
export EXTRA_CARGO_ARGS="--target $RUST_TARGET"
export ARCH=${KERNEL_ARCH}
export CROSS_COMPILE="${GCC_ARCH}-"
fi
apt-get update
apt-get install -y automake \
git \
bc \
cmake \
wget \
debootstrap \
libboost-dev \
libegl1-mesa-dev \
libgbm-dev \
libgles2-mesa-dev \
libpcre3-dev \
libpng-dev \
libpython3-dev \
libssl-dev \
libvulkan-dev \
libxcb-keysyms1-dev \
python3-dev \
python3-distutils \
python3-serial \
qt5-default \
qt5-qmake \
qtbase5-dev
if [[ "$DEBIAN_ARCH" = "armhf" ]]; then
apt-get install -y libboost-dev:armhf \
libegl1-mesa-dev:armhf \
libelf-dev:armhf \
libgbm-dev:armhf \
libgles2-mesa-dev:armhf \
libpcre3-dev:armhf \
libpng-dev:armhf \
libpython3-dev:armhf \
libvulkan-dev:armhf \
libxcb-keysyms1-dev:armhf \
qtbase5-dev:armhf
fi
############### Build dEQP runner
. .gitlab-ci/build-deqp-runner.sh
mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin
mv /usr/local/bin/deqp-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/.
############### Build dEQP
STRIP_CMD="${GCC_ARCH}-strip"
DEQP_TARGET=surfaceless . .gitlab-ci/build-deqp.sh
mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/.
############### Build apitrace
. .gitlab-ci/build-apitrace.sh
mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/apitrace
mv /apitrace/build /lava-files/rootfs-${DEBIAN_ARCH}/apitrace
rm -rf /apitrace
mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/waffle
mv /waffle/build /lava-files/rootfs-${DEBIAN_ARCH}/waffle
rm -rf /waffle
############### Build renderdoc
EXTRA_CMAKE_ARGS+=" -DENABLE_XCB=false"
. .gitlab-ci/build-renderdoc.sh
mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/renderdoc
mv /renderdoc/build /lava-files/rootfs-${DEBIAN_ARCH}/renderdoc
rm -rf /renderdoc
############### Build libdrm
EXTRA_MESON_ARGS+=" -D prefix=/libdrm"
. .gitlab-ci/build-libdrm.sh
mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH
find /libdrm/ -name lib\*\.so\* | xargs cp -t /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH/.
rm -rf /libdrm
############### Cross-build kernel
mkdir -p kernel
wget -qO- ${KERNEL_URL} | tar -xz --strip-components=1 -C kernel
pushd kernel
############### Delete rust, since the tests won't be compiling anything.
rm -rf /root/.rustup /root/.cargo
# The kernel doesn't like the gold linker (or the old lld in our debians).
# Sneak in some override symlinks during kernel build until we can update
# debian (they'll get blown away by the rm of the kernel dir at the end).
mkdir -p ld-links
for i in /usr/bin/*-ld /usr/bin/ld; do
i=`basename $i`
ln -sf /usr/bin/$i.bfd ld-links/$i
done
export PATH=`pwd`/ld-links:$PATH
if [ -n "$INSTALL_KERNEL_MODULES" ]; then
# Disable all modules in defconfig, so we only build the ones we want
sed -i 's/=m/=n/g' ${DEFCONFIG}
fi
./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/${KERNEL_ARCH}.config
make ${KERNEL_IMAGE_NAME}
for image in ${KERNEL_IMAGE_NAME}; do
cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/.
done
if [[ -n ${DEVICE_TREES} ]]; then
make dtbs
cp ${DEVICE_TREES} /lava-files/.
fi
if [ -n "$INSTALL_KERNEL_MODULES" ]; then
make modules
INSTALL_MOD_PATH=/lava-files/rootfs-${DEBIAN_ARCH}/ make modules_install
fi
if [[ ${DEBIAN_ARCH} = "arm64" ]] && which mkimage > /dev/null; then
make Image.lzma
mkimage \
-f auto \
-A arm \
-O linux \
-d arch/arm64/boot/Image.lzma \
-C lzma\
-b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \
/lava-files/cheza-kernel
fi
popd
rm -rf kernel
############### Create rootfs
set +e
debootstrap \
--variant=minbase \
--arch=${DEBIAN_ARCH} \
--components main,contrib,non-free \
buster \
/lava-files/rootfs-${DEBIAN_ARCH}/ \
http://deb.debian.org/debian
cat /lava-files/rootfs-${DEBIAN_ARCH}/debootstrap/debootstrap.log
set -e
cp .gitlab-ci/create-rootfs.sh /lava-files/rootfs-${DEBIAN_ARCH}/.
cp .gitlab-ci/container/llvm-snapshot.gpg.key /lava-files/rootfs-${DEBIAN_ARCH}/.
chroot /lava-files/rootfs-${DEBIAN_ARCH} sh /create-rootfs.sh
rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
rm /lava-files/rootfs-${DEBIAN_ARCH}/llvm-snapshot.gpg.key
du -ah /lava-files/rootfs-${DEBIAN_ARCH} | sort -h | tail -100
pushd /lava-files/rootfs-${DEBIAN_ARCH}
tar cvzf /lava-files/lava-rootfs.tgz .
popd
if [ ${DEBIAN_ARCH} = arm64 ]; then
# Pull down a specific build of qcomlt/release/qcomlt-5.4 8c79b3d12355
# ("Merge tag 'v5.4.23' into release/qcomlt-5.4"), where I used the
# .config from
# http://snapshots.linaro.org/96boards/dragonboard820c/linaro/debian/457/config-5.4.0-qcomlt-arm64
# with the following merged in:
#
# CONFIG_DRM=y
# CONFIG_DRM_MSM=y
# CONFIG_ATL1C=y
#
# Reason: 5.5 has a big stack of oopses and warns on db820c. 4.14-5.4
# linaro kernel binaries (see above .config link) have these as modules
# and distributed the modules only in the debian system, not the initrd,
# so they're very hard to extract (involving simg2img and loopback
# mounting). 4.11 is missing d72fea538fe6 ("drm/msm: Fix the check for
# the command size") so it can't actually run fredreno. qcomlt-4.14 is
# unstable at boot (~10% instaboot rate). The 5.4 qcomlt kernel with msm
# built in seems like the easiest way to go.
wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/Image.gz -O Image.gz \
-O /lava-files/db820c-kernel
wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/apq8096-db820c.dtb \
-O /lava-files/db820c.dtb
# Make a gzipped copy of the Image for db410c.
gzip -k /lava-files/Image
# Add missing a630 firmware, added to debian packge in apr 2020
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_gmu.bin \
-O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_gmu.bin
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_sqe.fw \
-O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_sqe.fw
fi
. .gitlab-ci/container/container_post_build.sh
############### Upload the files!
if [ -n "$UPLOAD_FOR_LAVA" ]; then
ci-fairy minio login $CI_JOB_JWT
FILES_TO_UPLOAD="lava-rootfs.tgz \
$KERNEL_IMAGE_NAME"
if [[ -n $DEVICE_TREES ]]; then
FILES_TO_UPLOAD="$FILES_TO_UPLOAD $(basename -a $DEVICE_TREES)"
fi
for f in $FILES_TO_UPLOAD; do
ci-fairy minio cp /lava-files/$f \
minio://${MINIO_PATH}/$f
done
touch /lava-files/done
ci-fairy minio cp /lava-files/done minio://${MINIO_PATH}/done
fi

View File

@@ -1,52 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.12 (GNU/Linux)
mQINBFE9lCwBEADi0WUAApM/mgHJRU8lVkkw0CHsZNpqaQDNaHefD6Rw3S4LxNmM
EZaOTkhP200XZM8lVdbfUW9xSjA3oPldc1HG26NjbqqCmWpdo2fb+r7VmU2dq3NM
R18ZlKixiLDE6OUfaXWKamZsXb6ITTYmgTO6orQWYrnW6ckYHSeaAkW0wkDAryl2
B5v8aoFnQ1rFiVEMo4NGzw4UX+MelF7rxaaregmKVTPiqCOSPJ1McC1dHFN533FY
Wh/RVLKWo6npu+owtwYFQW+zyQhKzSIMvNujFRzhIxzxR9Gn87MoLAyfgKEzrbbT
DhqqNXTxS4UMUKCQaO93TzetX/EBrRpJj+vP640yio80h4Dr5pAd7+LnKwgpTDk1
G88bBXJAcPZnTSKu9I2c6KY4iRNbvRz4i+ZdwwZtdW4nSdl2792L7Sl7Nc44uLL/
ZqkKDXEBF6lsX5XpABwyK89S/SbHOytXv9o4puv+65Ac5/UShspQTMSKGZgvDauU
cs8kE1U9dPOqVNCYq9Nfwinkf6RxV1k1+gwtclxQuY7UpKXP0hNAXjAiA5KS5Crq
7aaJg9q2F4bub0mNU6n7UI6vXguF2n4SEtzPRk6RP+4TiT3bZUsmr+1ktogyOJCc
Ha8G5VdL+NBIYQthOcieYCBnTeIH7D3Sp6FYQTYtVbKFzmMK+36ERreL/wARAQAB
tD1TeWx2ZXN0cmUgTGVkcnUgLSBEZWJpYW4gTExWTSBwYWNrYWdlcyA8c3lsdmVz
dHJlQGRlYmlhbi5vcmc+iQI4BBMBAgAiBQJRPZQsAhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgAAKCRAVz00Yr090Ibx+EADArS/hvkDF8juWMXxh17CgR0WZlHCC
9CTBWkg5a0bNN/3bb97cPQt/vIKWjQtkQpav6/5JTVCSx2riL4FHYhH0iuo4iAPR
udC7Cvg8g7bSPrKO6tenQZNvQm+tUmBHgFiMBJi92AjZ/Qn1Shg7p9ITivFxpLyX
wpmnF1OKyI2Kof2rm4BFwfSWuf8Fvh7kDMRLHv+MlnK/7j/BNpKdozXxLcwoFBmn
l0WjpAH3OFF7Pvm1LJdf1DjWKH0Dc3sc6zxtmBR/KHHg6kK4BGQNnFKujcP7TVdv
gMYv84kun14pnwjZcqOtN3UJtcx22880DOQzinoMs3Q4w4o05oIF+sSgHViFpc3W
R0v+RllnH05vKZo+LDzc83DQVrdwliV12eHxrMQ8UYg88zCbF/cHHnlzZWAJgftg
hB08v1BKPgYRUzwJ6VdVqXYcZWEaUJmQAPuAALyZESw94hSo28FAn0/gzEc5uOYx
K+xG/lFwgAGYNb3uGM5m0P6LVTfdg6vDwwOeTNIExVk3KVFXeSQef2ZMkhwA7wya
KJptkb62wBHFE+o9TUdtMCY6qONxMMdwioRE5BYNwAsS1PnRD2+jtlI0DzvKHt7B
MWd8hnoUKhMeZ9TNmo+8CpsAtXZcBho0zPGz/R8NlJhAWpdAZ1CmcPo83EW86Yq7
BxQUKnNHcwj2ebkCDQRRPZQsARAA4jxYmbTHwmMjqSizlMJYNuGOpIidEdx9zQ5g
zOr431/VfWq4S+VhMDhs15j9lyml0y4ok215VRFwrAREDg6UPMr7ajLmBQGau0Fc
bvZJ90l4NjXp5p0NEE/qOb9UEHT7EGkEhaZ1ekkWFTWCgsy7rRXfZLxB6sk7pzLC
DshyW3zjIakWAnpQ5j5obiDy708pReAuGB94NSyb1HoW/xGsGgvvCw4r0w3xPStw
F1PhmScE6NTBIfLliea3pl8vhKPlCh54Hk7I8QGjo1ETlRP4Qll1ZxHJ8u25f/ta
RES2Aw8Hi7j0EVcZ6MT9JWTI83yUcnUlZPZS2HyeWcUj+8nUC8W4N8An+aNps9l/
21inIl2TbGo3Yn1JQLnA1YCoGwC34g8QZTJhElEQBN0X29ayWW6OdFx8MDvllbBV
ymmKq2lK1U55mQTfDli7S3vfGz9Gp/oQwZ8bQpOeUkc5hbZszYwP4RX+68xDPfn+
M9udl+qW9wu+LyePbW6HX90LmkhNkkY2ZzUPRPDHZANU5btaPXc2H7edX4y4maQa
xenqD0lGh9LGz/mps4HEZtCI5CY8o0uCMF3lT0XfXhuLksr7Pxv57yue8LLTItOJ
d9Hmzp9G97SRYYeqU+8lyNXtU2PdrLLq7QHkzrsloG78lCpQcalHGACJzrlUWVP/
fN3Ht3kAEQEAAYkCHwQYAQIACQUCUT2ULAIbDAAKCRAVz00Yr090IbhWEADbr50X
OEXMIMGRLe+YMjeMX9NG4jxs0jZaWHc/WrGR+CCSUb9r6aPXeLo+45949uEfdSsB
pbaEdNWxF5Vr1CSjuO5siIlgDjmT655voXo67xVpEN4HhMrxugDJfCa6z97P0+ML
PdDxim57uNqkam9XIq9hKQaurxMAECDPmlEXI4QT3eu5qw5/knMzDMZj4Vi6hovL
wvvAeLHO/jsyfIdNmhBGU2RWCEZ9uo/MeerPHtRPfg74g+9PPfP6nyHD2Wes6yGd
oVQwtPNAQD6Cj7EaA2xdZYLJ7/jW6yiPu98FFWP74FN2dlyEA2uVziLsfBrgpS4l
tVOlrO2YzkkqUGrybzbLpj6eeHx+Cd7wcjI8CalsqtL6cG8cUEjtWQUHyTbQWAgG
5VPEgIAVhJ6RTZ26i/G+4J8neKyRs4vz+57UGwY6zI4AB1ZcWGEE3Bf+CDEDgmnP
LSwbnHefK9IljT9XU98PelSryUO/5UPw7leE0akXKB4DtekToO226px1VnGp3Bov
1GBGvpHvL2WizEwdk+nfk8LtrLzej+9FtIcq3uIrYnsac47Pf7p0otcFeTJTjSq3
krCaoG4Hx0zGQG2ZFpHrSrZTVy6lxvIdfi0beMgY6h78p6M9eYZHQHc02DjFkQXN
bXb5c6gCHESH5PXwPU4jQEE7Ib9J6sbk7ZT2Mw==
=j+4q
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -1,8 +0,0 @@
#!/bin/bash
arch=ppc64el
. .gitlab-ci/container/cross_build.sh
apt-get install -y --no-remove \
libvulkan-dev:$arch

View File

@@ -1,5 +0,0 @@
#!/bin/bash
arch=s390x
. .gitlab-ci/container/cross_build.sh

View File

@@ -1,101 +0,0 @@
#!/bin/bash
set -e
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
apt-get install -y \
ca-certificates \
gnupg \
python3-pip \
python3-setuptools \
unzip \
wget
# Upstream LLVM package repository
apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key
echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-10 main" >/etc/apt/sources.list.d/llvm10.list
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
apt-get update
apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
bison \
ccache \
clang-10 \
dpkg-cross \
flex \
g++ \
g++-mingw-w64-x86-64 \
gcc \
git \
kmod \
libclang-9-dev \
libclang-10-dev \
libclc-dev \
libelf-dev \
libepoxy-dev \
libexpat1-dev \
libgtk-3-dev \
libomxil-bellagio-dev \
libpciaccess-dev \
libunwind-dev \
libva-dev \
libvdpau-dev \
libvulkan-dev \
libx11-dev \
libx11-xcb-dev \
libxdamage-dev \
libxext-dev \
libxml2-utils \
libxrandr-dev \
libxrender-dev \
libxshmfence-dev \
libxvmc-dev \
libxxf86vm-dev \
libz-mingw-w64-dev \
llvm-9-dev \
llvm-10-dev \
pkg-config \
python-mako \
python3-mako \
python3-pil \
python3-pip \
python3-requests \
python3-setuptools \
qemu-user \
scons \
wine64-development \
x11proto-dri2-dev \
x11proto-gl-dev \
x11proto-randr-dev \
xz-utils \
zlib1g-dev
apt-get install -y --no-remove -t buster-backports \
libclang-8-dev \
libllvm8 \
meson
# Needed for ci-fairy, this revision is able to upload files to MinIO
pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366
# for the vulkan overlay layer and ACO tests
wget https://github.com/KhronosGroup/glslang/releases/download/SDK-candidate-26-Jul-2020/glslang-master-linux-Release.zip
unzip glslang-master-linux-Release.zip bin/glslangValidator
install -m755 bin/glslangValidator /usr/local/bin/
rm bin/glslangValidator glslang-master-linux-Release.zip
############### Uninstall ephemeral packages
apt-get purge -y \
gnupg \
unzip
. .gitlab-ci/container/container_post_build.sh

View File

@@ -1,125 +0,0 @@
#!/bin/bash
set -e
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
# Ephemeral packages (installed for this script and removed again at the end)
STABLE_EPHEMERAL=" \
autoconf \
automake \
autotools-dev \
bzip2 \
cmake \
gnupg \
libgbm-dev \
libtool \
make \
unzip \
wget \
"
# We need multiarch for Wine
dpkg --add-architecture i386
apt-get update
apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
libarchive-dev \
libclang-cpp10-dev \
liblua5.3-dev \
libxml2-dev \
ocl-icd-opencl-dev \
wine-development \
wine32-development
apt-get install -y --no-remove -t buster-backports \
llvm-8-dev
. .gitlab-ci/container/container_pre_build.sh
# Debian's pkg-config wrapers for mingw are broken, and there's no sign that
# they're going to be fixed, so we'll just have to fix it ourselves
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930492
cat >/usr/local/bin/x86_64-w64-mingw32-pkg-config <<EOF
#!/bin/sh
PKG_CONFIG_LIBDIR=/usr/x86_64-w64-mingw32/lib/pkgconfig pkg-config \$@
EOF
chmod +x /usr/local/bin/x86_64-w64-mingw32-pkg-config
# dependencies where we want a specific version
export XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
export XCB_RELEASES=https://xcb.freedesktop.org/dist
export WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
export XORGMACROS_VERSION=util-macros-1.19.0
export XCBPROTO_VERSION=xcb-proto-1.13
export LIBXCB_VERSION=libxcb-1.13
export LIBWAYLAND_VERSION=wayland-1.17.0
export WAYLAND_PROTOCOLS_VERSION=wayland-protocols-1.12
wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2
cd $XORGMACROS_VERSION; ./configure; make install; cd ..
rm -rf $XORGMACROS_VERSION
wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2
tar -xvf $XCBPROTO_VERSION.tar.bz2 && rm $XCBPROTO_VERSION.tar.bz2
cd $XCBPROTO_VERSION; ./configure; make install; cd ..
rm -rf $XCBPROTO_VERSION
wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2
tar -xvf $LIBXCB_VERSION.tar.bz2 && rm $LIBXCB_VERSION.tar.bz2
cd $LIBXCB_VERSION; ./configure; make install; cd ..
rm -rf $LIBXCB_VERSION
. .gitlab-ci/build-libdrm.sh
wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
tar -xvf $LIBWAYLAND_VERSION.tar.xz && rm $LIBWAYLAND_VERSION.tar.xz
cd $LIBWAYLAND_VERSION; ./configure --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation; make install; cd ..
rm -rf $LIBWAYLAND_VERSION
wget $WAYLAND_RELEASES/$WAYLAND_PROTOCOLS_VERSION.tar.xz
tar -xvf $WAYLAND_PROTOCOLS_VERSION.tar.xz && rm $WAYLAND_PROTOCOLS_VERSION.tar.xz
cd $WAYLAND_PROTOCOLS_VERSION; ./configure; make install; cd ..
rm -rf $WAYLAND_PROTOCOLS_VERSION
# The version of libglvnd-dev in debian is too old
# Check this page to see when this local compilation can be dropped in favour of the package:
# https://packages.debian.org/libglvnd-dev
GLVND_VERSION=1.3.2
wget https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v$GLVND_VERSION/libglvnd-v$GLVND_VERSION.tar.gz
tar -xvf libglvnd-v$GLVND_VERSION.tar.gz && rm libglvnd-v$GLVND_VERSION.tar.gz
pushd libglvnd-v$GLVND_VERSION; ./autogen.sh; ./configure; make install; popd
rm -rf libglvnd-v$GLVND_VERSION
. .gitlab-ci/build-spirv-tools.sh
git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator -b llvm_release_100 --depth 1
pushd SPIRV-LLVM-Translator
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC
ninja
ninja install
popd
pushd /usr/local
git clone https://gitlab.freedesktop.org/mesa/shader-db.git --depth 1
rm -rf shader-db/.git
cd shader-db
make
popd
############### Uninstall the build software
apt-get purge -y \
$STABLE_EPHEMERAL
. .gitlab-ci/container/container_post_build.sh

View File

@@ -1,63 +0,0 @@
#!/bin/bash
set -e
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
apt-get install -y \
ca-certificates \
gnupg
# Upstream LLVM package repository
apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key
echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-10 main" >/etc/apt/sources.list.d/llvm10.list
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
apt-get update
apt-get dist-upgrade -y
apt-get install -y --no-remove \
git \
git-lfs \
libexpat1 \
libllvm9 \
libllvm10 \
liblz4-1 \
libpcre32-3 \
libpng16-16 \
libpython3.7 \
libvulkan1 \
libwayland-client0 \
libwayland-server0 \
libxcb-ewmh2 \
libxcb-randr0 \
libxcb-keysyms1 \
libxcb-xfixes0 \
libxkbcommon0 \
libxrandr2 \
libxrender1 \
python \
python3-mako \
python3-numpy \
python3-pil \
python3-pytest \
python3-requests \
python3-six \
python3-yaml \
python3.7 \
qt5-default \
qt5-qmake \
vulkan-tools \
waffle-utils \
xauth \
xvfb \
zlib1g
apt-get purge -y \
gnupg
apt-get autoremove -y --purge

View File

@@ -1,97 +0,0 @@
#!/bin/bash
set -e
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
# Ephemeral packages (installed for this script and removed again at the end)
STABLE_EPHEMERAL=" \
autoconf \
automake \
ccache \
clang-10 \
cmake \
g++ \
libclang-cpp10-dev \
libgbm-dev \
libgles2-mesa-dev \
libpcre3-dev \
libpciaccess-dev \
libpng-dev \
libvulkan-dev \
libwaffle-dev \
libxcb-keysyms1-dev \
libxkbcommon-dev \
libxrender-dev \
llvm-10-dev \
make \
meson \
ocl-icd-opencl-dev \
patch \
pkg-config \
python3-distutils \
python3.7-dev \
wget \
xz-utils \
"
apt-get install -y --no-remove \
clinfo \
libclang-common-10-dev \
libclang-cpp10 \
libxcb-shm0 \
ocl-icd-libopencl1 \
python3-lxml \
python3-simplejson \
$STABLE_EPHEMERAL
. .gitlab-ci/container/container_pre_build.sh
############### Build spirv-tools (debian too old)
. .gitlab-ci/build-spirv-tools.sh
############### Build libclc
. .gitlab-ci/build-libclc.sh
############### Build virglrenderer
. .gitlab-ci/build-virglrenderer.sh
############### Build piglit
INCLUDE_OPENCL_TESTS=1 . .gitlab-ci/build-piglit.sh
############### Build dEQP runner (and install rust temporarily for it)
. .gitlab-ci/build-rust.sh
. .gitlab-ci/build-deqp-runner.sh
rm -rf /root/.rustup /root/.cargo
############### Build dEQP GL
DEQP_TARGET=surfaceless . .gitlab-ci/build-deqp.sh
############### Build apitrace
. .gitlab-ci/build-apitrace.sh
############### Build renderdoc
. .gitlab-ci/build-renderdoc.sh
############### Build libdrm
. .gitlab-ci/build-libdrm.sh
############### Uninstall the build software
ccache --show-stats
apt-get purge -y \
$STABLE_EPHEMERAL
apt-get autoremove -y --purge

View File

@@ -1,137 +0,0 @@
#!/bin/bash
set -e
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
# Ephemeral packages (installed for this script and removed again at the end)
STABLE_EPHEMERAL=" \
ccache \
cmake \
g++ \
libgbm-dev \
libgles2-mesa-dev \
liblz4-dev \
libpng-dev \
libvulkan-dev \
libxcb-ewmh-dev \
libxkbcommon-dev \
libxrandr-dev \
libxrender-dev \
libzstd-dev \
meson \
p7zip \
pkg-config \
python3-distutils \
wget \
"
# Unfortunately, gfxreconstruct needs the -dev packages:
# https://github.com/LunarG/gfxreconstruct/issues/402
apt-get install -y --no-remove \
libwayland-dev \
libx11-xcb-dev \
libxcb-keysyms1-dev \
libxcb1-dev \
$STABLE_EPHEMERAL
# We need multiarch for Wine
dpkg --add-architecture i386
apt-get update
apt-get install -y --no-remove \
wine \
wine32 \
wine64
############### Set up Wine env variables
export WINEDEBUG="-all"
export WINEPREFIX="/dxvk-wine64"
############### Install DXVK
DXVK_VERSION="1.6"
# We don't want crash dialogs
cat >crashdialog.reg <<EOF
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\WineDbg]
"ShowCrashDialog"=dword:00000000
EOF
# Set the wine prefix and disable the crash dialog
wine regedit crashdialog.reg
rm crashdialog.reg
# DXVK's setup often fails with:
# "${WINEPREFIX}: Not a valid wine prefix."
# and that is just spit because of checking the existance of the
# system.reg file, which fails.
# Just giving it a bit more of time for it to be created solves the
# problem ...
test -f "${WINEPREFIX}/system.reg" || sleep 2
wget "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VERSION}/dxvk-${DXVK_VERSION}.tar.gz"
tar xzpf dxvk-"${DXVK_VERSION}".tar.gz
dxvk-"${DXVK_VERSION}"/setup_dxvk.sh install
rm -rf dxvk-"${DXVK_VERSION}"
rm dxvk-"${DXVK_VERSION}".tar.gz
############### Install Windows' apitrace binaries
APITRACE_VERSION="9.0"
APITRACE_VERSION_DATE="20191126"
wget "https://github.com/apitrace/apitrace/releases/download/${APITRACE_VERSION}/apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64.7z"
7zr x "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64.7z" \
"apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64/bin/apitrace.exe" \
"apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64/bin/d3dretrace.exe"
mv "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64" /apitrace-msvc-win64
rm "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64.7z"
# Add the apitrace path to the registry
wine \
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" \
/v Path \
/t REG_EXPAND_SZ \
/d "C:\windows\system32;C:\windows;C:\windows\system32\wbem;Z:\apitrace-msvc-win64\bin" \
/f
############### Building ...
. .gitlab-ci/container/container_pre_build.sh
############### Build dEQP runner (and install rust temporarily for it)
. .gitlab-ci/build-rust.sh
. .gitlab-ci/build-deqp-runner.sh
rm -rf /root/.rustup /root/.cargo
############### Build Fossilize
. .gitlab-ci/build-fossilize.sh
############### Build dEQP VK
. .gitlab-ci/build-deqp.sh
############### Build gfxreconstruct
. .gitlab-ci/build-gfxreconstruct.sh
############### Build VulkanTools
. .gitlab-ci/build-vulkantools.sh
############### Uninstall the build software
ccache --show-stats
apt-get purge -y \
$STABLE_EPHEMERAL
apt-get autoremove -y --purge

View File

@@ -1,33 +0,0 @@
#!/bin/bash
ndk=$1
arch=$2
cpu_family=$3
cpu=$4
cross_file="/cross_file-$arch.txt"
# armv7 has the toolchain split between two names.
arch2=${5:-$2}
# Note that we disable C++ exceptions, because Mesa doesn't use exceptions,
# and allowing it in code generation means we get unwind symbols that break
# the libEGL and driver symbol tests.
cat >$cross_file <<EOF
[binaries]
ar = '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/$arch-ar'
c = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang', '-fuse-ld=lld', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables']
cpp = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang++', '-fuse-ld=lld', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables', '-static-libstdc++']
strip = '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/$arch-strip'
pkgconfig = ['/usr/bin/pkg-config']
[host_machine]
system = 'linux'
cpu_family = '$cpu_family'
cpu = '$cpu'
endian = 'little'
[properties]
needs_exe_wrapper = true
EOF

View File

@@ -1,38 +0,0 @@
#!/bin/sh
# Makes a .pc file in the Android NDK for meson to find its libraries.
set -ex
ndk="$1"
pc="$2"
cflags="$3"
libs="$4"
version="$5"
sysroot=$ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot
for arch in \
x86_64-linux-android \
i686-linux-android \
aarch64-linux-android \
arm-linux-androideabi; do
pcdir=$sysroot/usr/lib/$arch/pkgconfig
mkdir -p $pcdir
cat >$pcdir/$pc <<EOF
prefix=$sysroot
exec_prefix=$sysroot
libdir=$sysroot/usr/lib/$arch/29
sharedlibdir=$sysroot/usr/lib/$arch
includedir=$sysroot/usr/include
Name: zlib
Description: zlib compression library
Version: $version
Requires:
Libs: -L$sysroot/usr/lib/$arch/29 $libs
Cflags: -I$sysroot/usr/include $cflags
EOF
done

View File

@@ -1,51 +0,0 @@
#!/bin/bash
arch=$1
cross_file="/cross_file-$arch.txt"
/usr/share/meson/debcrossgen --arch $arch -o "$cross_file"
# Explicitly set ccache path for cross compilers
sed -i "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|g" "$cross_file"
if [ "$arch" = "i386" ]; then
# Work around a bug in debcrossgen that should be fixed in the next release
sed -i "s|cpu_family = 'i686'|cpu_family = 'x86'|g" "$cross_file"
fi
# Rely on qemu-user being configured in binfmt_misc on the host
sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file"
# Add a line for rustc, which debcrossgen is missing.
cc=`sed -n 's|c = .\(.*\).|\1|p' < $cross_file`
if [[ "$arch" = "arm64" ]]; then
rust_target=aarch64-unknown-linux-gnu
elif [[ "$arch" = "armhf" ]]; then
rust_target=armv7-unknown-linux-gnueabihf
elif [[ "$arch" = "i386" ]]; then
rust_target=i686-unknown-linux-gnu
elif [[ "$arch" = "ppc64el" ]]; then
rust_target=powerpc64le-unknown-linux-gnu
elif [[ "$arch" = "s390x" ]]; then
rust_target=s390x-unknown-linux-gnu
else
echo "Needs rustc target mapping"
fi
sed -i -e '/\[binaries\]/a\' -e "rust = ['rustc', '--target=$rust_target', '-C', 'linker=$cc']" "$cross_file"
# Set up cmake cross compile toolchain file for dEQP builds
toolchain_file="/toolchain-$arch.cmake"
if [[ "$arch" = "arm64" ]]; then
GCC_ARCH="aarch64-linux-gnu"
DE_CPU="DE_CPU_ARM_64"
CMAKE_ARCH=arm
elif [[ "$arch" = "armhf" ]]; then
GCC_ARCH="arm-linux-gnueabihf"
DE_CPU="DE_CPU_ARM"
CMAKE_ARCH=arm
fi
if [[ -n "$GCC_ARCH" ]]; then
echo "set(CMAKE_SYSTEM_NAME Linux)" > "$toolchain_file"
echo "set(CMAKE_SYSTEM_PROCESSOR arm)" >> "$toolchain_file"
echo "set(CMAKE_C_COMPILER /usr/lib/ccache/$GCC_ARCH-gcc)" >> "$toolchain_file"
echo "set(CMAKE_CXX_COMPILER /usr/lib/ccache/$GCC_ARCH-g++)" >> "$toolchain_file"
echo "set(ENV{PKG_CONFIG} \"/usr/bin/$GCC_ARCH-pkg-config\")" >> "$toolchain_file"
echo "set(DE_CPU $DE_CPU)" >> "$toolchain_file"
fi

View File

@@ -1,251 +0,0 @@
#!/bin/bash
set -ex
if [ $DEBIAN_ARCH = arm64 ]; then
ARCH_PACKAGES="firmware-qcom-media"
elif [ $DEBIAN_ARCH = amd64 ]; then
# Upstream LLVM package repository
apt-get -y install --no-install-recommends gnupg ca-certificates
apt-key add /llvm-snapshot.gpg.key
echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-10 main" >/etc/apt/sources.list.d/llvm10.list
apt-get update
ARCH_PACKAGES="libelf1
libllvm10
libxcb-dri2-0
libxcb-dri3-0
libxcb-present0
libxcb-sync1
libxcb-xfixes0
libxshmfence1
firmware-amd-graphics
"
fi
apt-get -y install --no-install-recommends \
ca-certificates \
curl \
initramfs-tools \
libpng16-16 \
strace \
libsensors5 \
libexpat1 \
libx11-6 \
libx11-xcb1 \
$ARCH_PACKAGES \
netcat-openbsd \
python3 \
libpython3.7 \
python3-pil \
python3-pytest \
python3-requests \
python3-yaml \
sntp \
wget \
xz-utils
if [ -n "$INCLUDE_VK_CTS" ]; then
apt-get install -y libvulkan1
fi
passwd root -d
chsh -s /bin/sh
cat > /init <<EOF
#!/bin/sh
export PS1=lava-shell:
exec sh
EOF
chmod +x /init
mkdir -p /lib/firmware/rtl_nic
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtl_nic/rtl8153a-3.fw -O /lib/firmware/rtl_nic/rtl8153a-3.fw
#######################################################################
# Strip the image to a small minimal system without removing the debian
# toolchain.
# xz compress firmware so it doesn't waste RAM at runtime. Except db820c's
# GPU firmware, due to using a precompiled kernel without compression support.
find /lib/firmware -type f -print0 | \
grep -vz a530 | \
xargs -0r -P4 -n4 xz -T1 -C crc32
ln -s /lib/firmware/qcom/a530* /lib/firmware/
# Copy timezone file and remove tzdata package
rm -rf /etc/localtime
cp /usr/share/zoneinfo/Etc/UTC /etc/localtime
UNNEEDED_PACKAGES="libfdisk1
tzdata
diffutils
gnupg"
export DEBIAN_FRONTEND=noninteractive
# Removing unused packages
for PACKAGE in ${UNNEEDED_PACKAGES}
do
echo ${PACKAGE}
if ! apt-get remove --purge --yes "${PACKAGE}"
then
echo "WARNING: ${PACKAGE} isn't installed"
fi
done
apt-get autoremove --yes || true
# Dropping logs
rm -rf /var/log/*
# Dropping documentation, localization, i18n files, etc
rm -rf /usr/share/doc/*
rm -rf /usr/share/locale/*
rm -rf /usr/share/X11/locale/*
rm -rf /usr/share/man
rm -rf /usr/share/i18n/*
rm -rf /usr/share/info/*
rm -rf /usr/share/lintian/*
rm -rf /usr/share/common-licenses/*
rm -rf /usr/share/mime/*
# Dropping reportbug scripts
rm -rf /usr/share/bug
# Drop udev hwdb not required on a stripped system
rm -rf /lib/udev/hwdb.bin /lib/udev/hwdb.d/*
# Drop all gconv conversions && binaries
rm -rf usr/bin/iconv
rm -rf usr/sbin/iconvconfig
rm -rf usr/lib/*/gconv/
# Remove libusb database
rm -rf usr/sbin/update-usbids
rm -rf var/lib/usbutils/usb.ids
rm -rf usr/share/misc/usb.ids
#######################################################################
# Crush into a minimal production image to be deployed via some type of image
# updating system.
# IMPORTANT: The Debian system is not longer functional at this point,
# for example, apt and dpkg will stop working
UNNEEDED_PACKAGES="apt libapt-pkg6.0 "\
"ncurses-bin ncurses-base libncursesw6 libncurses6 "\
"perl-base "\
"debconf libdebconfclient0 "\
"e2fsprogs e2fslibs libfdisk1 "\
"insserv "\
"udev "\
"init-system-helpers "\
"bash "\
"cpio "\
"xz-utils "\
"passwd "\
"libsemanage1 libsemanage-common "\
"libsepol1 "\
"gpgv "\
"hostname "\
"adduser "\
"debian-archive-keyring "\
"libegl1-mesa-dev "\
"libegl-mesa0 "\
"libgl1-mesa-dev "\
"libgl1-mesa-dri "\
"libglapi-mesa "\
"libgles2-mesa-dev "\
"libglx-mesa0 "\
"mesa-common-dev "\
"libz3-4 "\
# Removing unneeded packages
for PACKAGE in ${UNNEEDED_PACKAGES}
do
echo "Forcing removal of ${PACKAGE}"
if ! dpkg --purge --force-remove-essential --force-depends "${PACKAGE}"
then
echo "WARNING: ${PACKAGE} isn't installed"
fi
done
# Show what's left package-wise before dropping dpkg itself
COLUMNS=300 dpkg-query -W --showformat='${Installed-Size;10}\t${Package}\n' | sort -k1,1n
# Drop dpkg
dpkg --purge --force-remove-essential --force-depends dpkg
# No apt or dpkg, no need for its configuration archives
rm -rf etc/apt
rm -rf etc/dpkg
# Drop directories not part of ostree
# Note that /var needs to exist as ostree bind mounts the deployment /var over
# it
rm -rf var/* opt srv share
# ca-certificates are in /etc drop the source
rm -rf usr/share/ca-certificates
# No bash, no need for completions
rm -rf usr/share/bash-completion
# No zsh, no need for comletions
rm -rf usr/share/zsh/vendor-completions
# drop gcc-6 python helpers
rm -rf usr/share/gcc-6
# Drop sysvinit leftovers
rm -rf etc/init.d
rm -rf etc/rc[0-6S].d
# Drop upstart helpers
rm -rf etc/init
# Various xtables helpers
rm -rf usr/lib/xtables
# Drop all locales
# TODO: only remaining locale is actually "C". Should we really remove it?
rm -rf usr/lib/locale/*
# partition helpers
rm -rf usr/sbin/*fdisk
# local compiler
rm -rf usr/bin/localedef
# Systemd dns resolver
find usr etc -name '*systemd-resolve*' -prune -exec rm -r {} \;
# Systemd network configuration
find usr etc -name '*networkd*' -prune -exec rm -r {} \;
# systemd ntp client
find usr etc -name '*timesyncd*' -prune -exec rm -r {} \;
# systemd hw database manager
find usr etc -name '*systemd-hwdb*' -prune -exec rm -r {} \;
# No need for fuse
find usr etc -name '*fuse*' -prune -exec rm -r {} \;
# lsb init function leftovers
rm -rf usr/lib/lsb
# Only needed when adding libraries
rm -rf usr/sbin/ldconfig*
# Games, unused
rmdir usr/games
# Remove pam module to authenticate against a DB
# plus libdb-5.3.so that is only used by this pam module
rm -rf usr/lib/*/security/pam_userdb.so
rm -rf usr/lib/*/libdb-5.3.so
# remove NSS support for nis, nisplus and hesiod
rm -rf usr/lib/*/libnss_hesiod*
rm -rf usr/lib/*/libnss_nis*

View File

@@ -1 +0,0 @@
u_format_test

View File

@@ -1 +0,0 @@
lp_test_arit

View File

@@ -1,3 +0,0 @@
lp_test_arit
lp_test_format
u_format_test

View File

@@ -1,10 +0,0 @@
# Note: skips lists for CI are just a list of lines that, when
# non-zero-length and not starting with '#', will regex match to
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
dEQP-GLES[0-9]*.performance.*
dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
dEQP-GLES[0-9]*.functional.flush_finish.*

View File

@@ -1,481 +0,0 @@
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center,Fail
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner,Fail
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z,Fail
dEQP-GLES2.functional.polygon_offset.fixed16_displacement_with_units,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_nearest_clamp_l8_npot,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_nearest_clamp_rgb888_npot,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_nearest_clamp_rgba4444_npot,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_nearest_clamp_rgba8888_npot,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_linear_clamp_l8_npot,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_linear_clamp_rgb888_npot,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_linear_clamp_rgba4444_npot,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_linear_clamp_rgba8888_npot,Fail
dEQP-GLES2.functional.texture.filtering.cube.linear_nearest_clamp_l8_npot,Fail
dEQP-GLES2.functional.texture.filtering.cube.linear_nearest_clamp_rgb888_npot,Fail
dEQP-GLES2.functional.texture.filtering.cube.linear_nearest_clamp_rgba4444_npot,Fail
dEQP-GLES2.functional.texture.filtering.cube.linear_nearest_clamp_rgba8888_npot,Fail
dEQP-GLES2.functional.texture.filtering.cube.nearest_linear_clamp_l8_npot,Fail
dEQP-GLES2.functional.texture.filtering.cube.nearest_linear_clamp_rgb888_npot,Fail
dEQP-GLES2.functional.texture.filtering.cube.nearest_linear_clamp_rgba4444_npot,Fail
dEQP-GLES2.functional.texture.filtering.cube.nearest_linear_clamp_rgba8888_npot,Fail
dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center,Fail
dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner,Fail
dEQP-GLES3.functional.clipping.point.wide_point_clip,Fail
dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center,Fail
dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner,Fail
dEQP-GLES3.functional.draw.instancing.draw_arrays_instanced_grid_100x100,Fail
dEQP-GLES3.functional.draw.instancing.draw_arrays_instanced_grid_32x32,Fail
dEQP-GLES3.functional.draw.instancing.draw_elements_instanced_grid_100x100,Fail
dEQP-GLES3.functional.draw.instancing.draw_elements_instanced_grid_32x32,Fail
dEQP-GLES3.functional.draw.random.124,Fail
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_basic,Fail
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_scale,Fail
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_stencil_only,Fail
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_basic,Fail
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_scale,Fail
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_stencil_only,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_x,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_y,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_x,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_y,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_x,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_y,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_x,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_y,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_x,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_y,Fail
dEQP-GLES3.functional.fbo.color.blend.r8_src_over,Fail
dEQP-GLES3.functional.fbo.depth.basic.depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.depth.basic.depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.depth.basic.depth_component16,Fail
dEQP-GLES3.functional.fbo.depth.basic.depth_component24,Fail
dEQP-GLES3.functional.fbo.depth.basic.depth_component32f,Fail
dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component16,Fail
dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component24,Fail
dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component32f,Fail
dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth_component16,Fail
dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth_component24,Fail
dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth_component32f,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_color,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_depth,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_color,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth_stencil,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_stencil,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_color,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_depth,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_color,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth_stencil,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_stencil,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component16,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component24,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component32f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.r11f_g11f_b10f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.r16f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.r8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rg16f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rg8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgb10_a2,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgb565,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgb5_a1,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgb8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgba4,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgba8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.srgb8_alpha8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component16,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component24,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component32f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.r11f_g11f_b10f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.r16f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.r8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rg16f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rg8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgb10_a2,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgb565,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgb5_a1,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgb8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgba4,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgba8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.srgb8_alpha8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.stencil_index8,Fail
dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_rbo_depth_component16,Fail
dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_rbo_depth_component32f,Fail
dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_stencil_rbo_depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_stencil_rbo_depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_stencil_tex2d_depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_stencil_tex2d_depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_tex2d_depth_component16,Fail
dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_tex2d_depth_component24,Fail
dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_tex2d_depth_component32f,Fail
dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_stencil_rbo_stencil_index8,Fail
dEQP-GLES3.functional.fbo.render.shared_colorbuffer.rbo_r8,Fail
dEQP-GLES3.functional.fbo.render.shared_colorbuffer.rbo_r8_depth_rbo_depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.render.shared_colorbuffer.rbo_r8_depth_stencil_rbo_depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.render.shared_colorbuffer.tex2d_r8,Fail
dEQP-GLES3.functional.fbo.render.shared_colorbuffer.tex2d_r8_depth_rbo_depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.render.shared_colorbuffer.tex2d_r8_depth_stencil_rbo_depth24_stencil8,Fail
dEQP-GLES3.functional.lifetime.attach.deleted_input.buffer_vertex_array,Fail
dEQP-GLES3.functional.lifetime.attach.deleted_output.buffer_transform_feedback,Fail
dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_alpha_to_coverage,Fail
dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage,Fail
dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage_inverted,Fail
dEQP-GLES3.functional.multisample.fbo_max_samples.sample_coverage_invert,Fail
dEQP-GLES3.functional.negative_api.buffer.blit_framebuffer_multisample,Fail
dEQP-GLES3.functional.negative_api.buffer.read_pixels_fbo_format_mismatch,Fail
dEQP-GLES3.functional.negative_api.vertex_array.draw_elements_instanced,Fail
dEQP-GLES3.functional.negative_api.vertex_array.draw_range_elements,Fail
dEQP-GLES3.functional.occlusion_query.depth_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_clear_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.depth_clear_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_write,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_clear_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_clear_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_write_depth_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_write_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_write_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.scissor_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.polygon_offset.fixed16_displacement_with_units,Fail
dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units,Fail
dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.interpolation.lines_wide,Fail
dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.interpolation.triangles,Fail
dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.lines_wide,Fail
dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.points,Fail
dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.triangles,Fail
dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.primitives.points,Fail
dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.triangles,Fail
dEQP-GLES3.functional.rasterization.fbo.texture_2d.primitives.points,Fail
dEQP-GLES3.functional.rasterization.flatshading.lines_wide,Fail
dEQP-GLES3.functional.rasterization.flatshading.triangles,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.linkage.varying.rules.differing_interpolation_2,Fail
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.isampler2d_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.isampler3d_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler2darray_fixed_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler2darrayshadow_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler3d_fixed_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.sampler2dshadow_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.sampler3d_float_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.usampler3d_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.textureprojlodoffset.sampler2dshadow_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler2dshadow_vertex,Fail
dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_component_type,Fail
dEQP-GLES3.functional.state_query.integers.max_samples_getfloat,Fail
dEQP-GLES3.functional.state_query.integers.max_samples_getinteger64,Fail
dEQP-GLES3.functional.state_query.rbo.renderbuffer_component_size_color,Fail
dEQP-GLES3.functional.texture.mipmap.cube.max_level.linear_nearest,Fail
dEQP-GLES3.functional.texture.specification.random_teximage2d.cube_3,Fail
dEQP-GLES3.functional.texture.units.2_units.mixed.1,Fail
dEQP-GLES3.functional.texture.units.2_units.mixed.9,Fail
dEQP-GLES3.functional.texture.units.2_units.only_3d.5,Fail
dEQP-GLES3.functional.texture.units.2_units.only_3d.9,Fail
dEQP-GLES3.functional.texture.units.2_units.only_cube.2,Fail
dEQP-GLES3.functional.texture.units.4_units.mixed.1,Fail
dEQP-GLES3.functional.texture.units.4_units.mixed.9,Fail
dEQP-GLES3.functional.texture.units.4_units.only_2d.0,Fail
dEQP-GLES3.functional.texture.units.4_units.only_2d_array.0,Fail
dEQP-GLES3.functional.texture.units.4_units.only_3d.0,Fail
dEQP-GLES3.functional.texture.units.4_units.only_3d.1,Fail
dEQP-GLES3.functional.texture.units.4_units.only_3d.5,Fail
dEQP-GLES3.functional.texture.units.4_units.only_3d.7,Fail
dEQP-GLES3.functional.texture.units.4_units.only_3d.9,Fail
dEQP-GLES3.functional.texture.units.4_units.only_cube.2,Fail
dEQP-GLES3.functional.texture.units.8_units.mixed.6,Fail
dEQP-GLES3.functional.texture.units.8_units.mixed.7,Fail
dEQP-GLES3.functional.texture.units.8_units.mixed.8,Fail
dEQP-GLES3.functional.texture.units.8_units.only_2d.0,Fail
dEQP-GLES3.functional.texture.units.8_units.only_2d.6,Fail
dEQP-GLES3.functional.texture.units.8_units.only_2d_array.0,Fail
dEQP-GLES3.functional.texture.units.8_units.only_2d_array.6,Fail
dEQP-GLES3.functional.texture.units.8_units.only_3d.6,Fail
dEQP-GLES3.functional.texture.units.8_units.only_3d.8,Fail
dEQP-GLES3.functional.texture.units.8_units.only_cube.1,Fail
dEQP-GLES3.functional.texture.units.8_units.only_cube.2,Fail
dEQP-GLES3.functional.texture.units.all_units.mixed.0,Fail
dEQP-GLES3.functional.texture.units.all_units.mixed.5,Fail
dEQP-GLES3.functional.texture.units.all_units.mixed.6,Fail
dEQP-GLES3.functional.texture.units.all_units.mixed.8,Fail
dEQP-GLES3.functional.texture.units.all_units.mixed.9,Fail
dEQP-GLES3.functional.texture.units.all_units.only_2d.0,Fail
dEQP-GLES3.functional.texture.units.all_units.only_2d.6,Fail
dEQP-GLES3.functional.texture.units.all_units.only_2d_array.0,Fail
dEQP-GLES3.functional.texture.units.all_units.only_2d_array.5,Fail
dEQP-GLES3.functional.texture.units.all_units.only_2d_array.6,Fail
dEQP-GLES3.functional.texture.units.all_units.only_3d.5,Fail
dEQP-GLES3.functional.texture.units.all_units.only_3d.6,Fail
dEQP-GLES3.functional.texture.units.all_units.only_cube.1,Fail
dEQP-GLES3.functional.texture.units.all_units.only_cube.2,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.highp_vec4_lines_interleaved,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.highp_vec4_lines_separate,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.highp_vec4_triangles_interleaved,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.highp_vec4_triangles_separate,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.lowp_vec4_lines_interleaved,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.lowp_vec4_lines_separate,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.lowp_vec4_triangles_interleaved,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.lowp_vec4_triangles_separate,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.mediump_vec4_lines_interleaved,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.mediump_vec4_lines_separate,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.mediump_vec4_triangles_interleaved,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.centroid.mediump_vec4_triangles_separate,Fail
dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.10,Fail
dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.4,Fail
dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.8,Fail
dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.9,Fail
dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.1,Fail
dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.3,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.lines.10,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.lines.2,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.lines.4,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.lines.7,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.triangles.10,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.triangles.3,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.triangles.4,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.triangles.5,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.triangles.6,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.triangles.7,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.triangles.8,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.triangles.9,Fail
dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte.first6_offset16_stride32_quads5,Fail
dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10.components4_quads256,Fail
dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy.stride4_short_quads256,Fail

View File

@@ -1,15 +0,0 @@
# Note: flakes lists for CI are just a list of lines that, when
# non-zero-length and not starting with '#', will regex match to
# delete lines from the test list. Be careful.
dEQP-GLES3.functional.occlusion_query.stencil_write
dEQP-GLES3.functional.rasterization.fbo.rbo_.*
dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.triangles
dEQP-GLES3.functional.rasterization.fbo.texture_2d.primitives.points
dEQP-GLES3.functional.rasterization.flatshading.lines_wide
dEQP-GLES3.functional.rasterization.flatshading.triangles
dEQP-GLES3.functional.shaders.linkage.varying.interpolation.centroid
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.*
dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.*
dEQP-GLES3.functional.texture.units.4_units.only_3d.*
dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.8
dEQP-GLES3.functional.vertex_arrays.single_attribute.*

View File

@@ -1,64 +0,0 @@
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center,Fail
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner,Fail
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z,Fail
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_alpha,Fail
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_luminance,Fail
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgb,Fail
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgba,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_y,Fail
dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.lowp_float,Fail
dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.mediump_int,Fail
dEQP-GLES3.functional.transform_feedback.array.interleaved.points.highp_mat3x2,Fail
dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.highp_mat2x3,Fail
dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.lowp_uvec3,Fail
dEQP-GLES3.functional.transform_feedback.array.separate.lines.highp_mat3x4,Fail
dEQP-GLES3.functional.transform_feedback.array.separate.points.lowp_mat2,Fail
dEQP-GLES3.functional.transform_feedback.array.separate.points.mediump_uint,Fail
dEQP-GLES3.functional.transform_feedback.array.separate.triangles.lowp_vec3,Fail
dEQP-GLES3.functional.transform_feedback.array.separate.triangles.mediump_ivec3,Fail
dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.highp_uvec4,Fail
dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.highp_vec2,Fail
dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.lowp_ivec3,Fail
dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.lowp_int,Fail
dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.highp_vec4,Fail
dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.lowp_uint,Fail
dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.lowp_mat2x4,Fail
dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.mediump_uvec3,Fail
dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.highp_int,Fail
dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.mediump_float,Fail
dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.highp_mat4x3,Fail
dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.highp_ivec3,Fail
dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.mediump_vec3,Fail
dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.lowp_mat4x2,Fail
dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.lowp_mat3,Fail
dEQP-GLES3.functional.transform_feedback.interpolation.smooth.highp_vec4_triangles_separate,Fail
dEQP-GLES3.functional.transform_feedback.position.lines_separate,Fail
dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.3,Fail
dEQP-GLES3.functional.transform_feedback.random.separate.points.3,Fail
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.r32i_rgba8,Fail
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba32f_rgba32ui,Fail
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba8_snorm_r32ui,Fail
dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba8i_r32f,Fail
dEQP-GLES31.functional.image_load_store.cube.load_store.r32f_single_layer,Fail
dEQP-GLES31.functional.image_load_store.cube.load_store.rgba32i_single_layer,Fail
dEQP-GLES31.functional.image_load_store.cube.load_store.rgba8_snorm_single_layer,Fail
dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil_fbo,Crash
dEQP-GLES31.functional.layout_binding.image.image2d.fragment_binding_single,Fail
dEQP-GLES31.functional.layout_binding.image.image3d.fragment_binding_single,Fail
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.named_block.var_struct_explicit_location,Fail
dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.in.named_block_explicit_location.var_struct,Fail
dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.named_block_explicit_location.struct.uint,Fail
dEQP-GLES31.functional.separate_shader.random.119,Fail
dEQP-GLES31.functional.separate_shader.random.59,Fail
dEQP-GLES31.functional.separate_shader.random.69,Fail
dEQP-GLES31.functional.separate_shader.random.79,Fail
dEQP-GLES31.functional.separate_shader.random.99,Fail
dEQP-GLES31.functional.texture.border_clamp.formats.compressed_rgba8_etc2_eac.nearest_size_tile_multiple,Fail
dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata.buffer_size_131071,Fail
dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture.offset_7_alignments,Fail
dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture.offset_1_alignments,Fail
dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture.range_size_98304,Fail
dEQP-GLES31.functional.texture.texture_buffer.state_query.max_texture_buffer_size_getinteger,Fail

View File

@@ -1,23 +0,0 @@
# Note: skips lists for CI are just a list of lines that, when
# non-zero-length and not starting with '#', will regex match to
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
dEQP-GLES[0-9]*.performance.*
dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
dEQP-GLES[0-9]*.functional.flush_finish.*
# unstable results (probably related to the iommu faults).
dEQP-GLES3.functional.texture.filtering.3d.*
dEQP-GLES3.functional.texture.vertex.3d.filtering.*
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_stencil
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_stencil
dEQP-GLES31.functional.ubo.2_level_struct_array.single_buffer.packed_instance_array_fragment
# These are in the xfails list (they usually do), but the random
# behavior occasionally results in UnexpectedPass results.
dEQP-GLES31.functional.separate_shader.random.99
dEQP-GLES31.functional.separate_shader.random.69
dEQP-GLES31.functional.separate_shader.random.119

View File

@@ -1,84 +0,0 @@
dEQP-GLES31.functional.blend_equation_advanced.barrier.colorburn,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.colordodge,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.darken,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.difference,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.exclusion,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.hardlight,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_color,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_hue,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_luminosity,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_saturation,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.lighten,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.multiply,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.overlay,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.screen,Fail
dEQP-GLES31.functional.blend_equation_advanced.barrier.softlight,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.colorburn,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.colordodge,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.darken,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.difference,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.exclusion,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.hardlight,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_color,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_hue,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_luminosity,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_saturation,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.lighten,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.multiply,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.overlay,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.screen,Fail
dEQP-GLES31.functional.blend_equation_advanced.basic.softlight,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.colorburn,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.colordodge,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.darken,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.difference,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.exclusion,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.hardlight,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_color,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_hue,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_luminosity,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_saturation,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.lighten,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.multiply,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.overlay,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.screen,Fail
dEQP-GLES31.functional.blend_equation_advanced.msaa.softlight,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.colorburn,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.colordodge,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.darken,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.difference,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.exclusion,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.hardlight,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_color,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_hue,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_luminosity,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_saturation,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.lighten,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.multiply,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.overlay,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.screen,Fail
dEQP-GLES31.functional.blend_equation_advanced.srgb.softlight,Fail
dEQP-GLES31.functional.compute.basic.shared_var_single_group,Fail
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_advanced_blend_eq_buffer_advanced_blend_eq,Fail
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_blend_eq_buffer_advanced_blend_eq,Fail
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_separate_blend_eq_buffer_advanced_blend_eq,Fail
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_advanced_blend_eq,Fail
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_blend_eq,Fail
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_separate_blend_eq,Fail
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_separate_blend_eq_buffer_blend_eq,Fail
dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_depth_fbo,Fail
dEQP-GLES31.functional.ssbo.layout.3_level_array.std140.column_major_mat4x2,Fail
dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430.mat3,Fail
dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays.6,Fail
dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer.shared_instance_array,Fail
dEQP-GLES31.functional.stencil_texturing.render.depth32f_stencil8_clear,Fail
dEQP-GLES31.functional.stencil_texturing.render.depth32f_stencil8_draw,Fail
dEQP-GLES31.functional.tessellation.invariance.inner_triangle_set.quads_fractional_even_spacing,Fail
dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_odd_spacing_cw,Fail
dEQP-GLES31.functional.texture.multisample.samples_1.use_texture_depth_2d,Fail
dEQP-GLES31.functional.texture.multisample.samples_1.use_texture_depth_2d_array,Fail
dEQP-GLES31.functional.texture.multisample.samples_2.use_texture_depth_2d,Fail
dEQP-GLES31.functional.texture.multisample.samples_2.use_texture_depth_2d_array,Fail
dEQP-GLES31.functional.texture.multisample.samples_3.use_texture_depth_2d_array,Fail
dEQP-GLES31.functional.texture.multisample.samples_4.use_texture_depth_2d,Fail

View File

@@ -1,24 +0,0 @@
# Possibly https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2035 related,Fail
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z,Fail
dEQP-VK.compute.indirect_dispatch.upload_buffer.multi_dispatch,Fail
dEQP-VK.draw.output_location.array.r8g8-uint-mediump-output-uint,Fail
dEQP-VK.memory_model.message_passing.core11.u32.coherent.fence_fence.atomicwrite.device.payload_local.image.guard_nonlocal.workgroup.comp,Fail
dEQP-VK.spirv_assembly.instruction.graphics.opquantize.round_to_negative_inf_geom,Fail
dEQP-VK.spirv_assembly.instruction.graphics.opquantize.spec_const_positive_round_up_or_round_down_geom,Fail
# not sure what's wrong here,Fail
dEQP-VK.tessellation.invariance.outer_edge_index_independence.quads_fractional_even_spacing_ccw_point_mode,Fail
dEQP-VK.tessellation.invariance.outer_edge_symmetry.triangles_fractional_odd_spacing_cw_point_mode,Fail
KHR-GL30.transform_feedback.api_errors_test,Fail
KHR-GL30.transform_feedback.capture_vertex_interleaved_test,Fail
KHR-GL30.transform_feedback.capture_vertex_separate_test,Fail
KHR-GL30.transform_feedback.discard_vertex_test,Fail
KHR-GL30.transform_feedback.draw_xfb_feedbackk_test,Crash
KHR-GL30.transform_feedback.draw_xfb_instanced_test,Crash
KHR-GL30.transform_feedback.draw_xfb_stream_instanced_test,Crash
KHR-GL30.transform_feedback.draw_xfb_test,Crash
KHR-GL30.transform_feedback.get_xfb_varying,Fail
KHR-GL30.transform_feedback.query_vertex_interleaved_test,Fail
KHR-GL30.transform_feedback.query_vertex_separate_test,Fail

View File

@@ -1,55 +0,0 @@
# Note: flakes lists for CI are just a list of lines that, when
# non-zero-length and not starting with '#', will regex match to
# delete lines from the test list. Be careful.
# Flakes reported more than once during Jan-Feb 2020
dEQP-GLES31.functional.layout_binding.ssbo.fragment_binding_array
# Started appearing with the new deqp runner. possibly different test order?
dEQP-GLES3.functional.fbo.blit.conversion.rg8i_to_r16i
# We have longstanding intermittent failures with compswap.
dEQP-GLES31.functional.compute.shared_var.atomic.compswap.highp_int
dEQP-GLES31.functional.compute.shared_var.atomic.compswap.highp_uint
dEQP-GLES31.functional.compute.shared_var.atomic.compswap.lowp_int
dEQP-GLES31.functional.compute.shared_var.atomic.compswap.lowp_uint
dEQP-GLES31.functional.compute.shared_var.atomic.compswap.mediump_int
dEQP-GLES31.functional.compute.shared_var.atomic.compswap.mediump_uint
dEQP-GLES31.functional.ssbo.atomic.compswap.highp_int
dEQP-GLES31.functional.ssbo.atomic.compswap.highp_uint
dEQP-GLES31.functional.ssbo.atomic.compswap.lowp_int
dEQP-GLES31.functional.ssbo.atomic.compswap.lowp_uint
dEQP-GLES31.functional.ssbo.atomic.compswap.mediump_int
dEQP-GLES31.functional.ssbo.atomic.compswap.mediump_uint
# Non-sysmem flakes
dEQP-VK.pipeline.spec_constant.compute.composite.matrix.mat3x2
# Fails NIR_VALIDATE so probably flaky
dEQP-VK.memory_model.write_after_read.core11.u32.coherent.fence_fence.atomicwrite.workgroup.payload_nonlocal.workgroup.guard_local.buffer.comp
# At least some of the separate_channels tests fail on sysmem due to an
# interaction of use of a UBWC buffer as both a render target and a
# texture. Stores are done through both paths in separate channels,
# and the UBWC updates don't get synced. The current a650 blob also
# fails these tests and qcom apparently noted the failure at one point
# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2017
dEQP-VK.renderpass.*separate_channels.*
# These tests are broken (does not respect our minStorageBufferOffsetAlignment of 64)
dEQP-VK.pipeline.push_descriptor.compute.*
# Undiagnosed flakes appearing more than once in the last 2 months as
# of 2020-08-19, in descending order of frequency.
dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8
dEQP-GLES3.functional.fragment_out.random.39
dEQP-VK.subgroups.shuffle.framebuffer.subgroupshufflexor_bvec3_tess_eval
dEQP-VK.image.texel_view_compatible.graphic.extended.2d_image.texture_read.astc_10x6_unorm_block.r32g32b32a32_uint
dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.generate_mipmaps.from_base_level.layercount_6.r8g8b8a8_sint.general_optimal_nearest
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.r16_unorm.b8g8r8a8_snorm.optimal_optimal_nearest
dEQP-GLES31.functional.layout_binding.ssbo.fragment_binding_array
dEQP-VK.subgroups.quad.framebuffer.subgroupquadswapvertical_ivec2_tess_eval
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.r8g8b8a8_snorm.r32_sfloat.general_optimal_nearest
dEQP-GLES31.functional.tessellation.invariance.primitive_set.quads_equal_spacing_cw
dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140.mat2
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_combined_grid_1200x1200_drawcount_8

View File

@@ -1,66 +0,0 @@
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center,Fail
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail
dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z,Fail
dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z,Fail
dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z,Fail
dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z,Fail
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.0,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.1,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.10,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.11,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.12,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.13,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.14,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.15,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.16,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.17,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.18,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.19,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.2,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.20,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.21,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.22,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.23,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.24,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.3,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.4,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.5,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.6,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.7,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.8,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.9,Fail
dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.stencil,Fail
dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.vector_counter_fragment,Fail
dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.vector_counter_fragment,Fail
dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.vector_counter_fragment,Fail
dEQP-GLES2.functional.shaders.random.all_features.fragment.37,Fail
dEQP-GLES2.functional.shaders.random.exponential.fragment.11,Fail
dEQP-GLES2.functional.shaders.random.exponential.fragment.12,Fail
dEQP-GLES2.functional.shaders.random.exponential.fragment.14,Fail
dEQP-GLES2.functional.shaders.random.exponential.fragment.37,Fail
dEQP-GLES2.functional.shaders.random.exponential.fragment.5,Fail
dEQP-GLES2.functional.shaders.random.exponential.fragment.74,Fail
dEQP-GLES2.functional.shaders.random.texture.fragment.28,Fail
dEQP-GLES2.functional.shaders.random.trigonometric.fragment.65,Fail
dEQP-GLES2.functional.shaders.texture_functions.fragment.texture2d_bias,Fail
dEQP-GLES2.functional.shaders.texture_functions.fragment.texture2dproj_vec4_bias,Fail
dEQP-GLES2.functional.shaders.texture_functions.fragment.texturecube_bias,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_clamp_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_mirror_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_clamp_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_mirror_rgba8888,Fail
dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_linear,Fail
dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_nearest,Fail
dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_linear,Fail
dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_nearest,Fail
dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_linear,Fail
dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_nearest,Fail
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgb,Fail
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgba,Fail
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.cube_rgb,Fail
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.cube_rgba,Fail

View File

@@ -1,38 +0,0 @@
# Note: skips lists for CI are just a list of lines that, when
# non-zero-length and not starting with '#', will regex match to
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
dEQP-GLES[0-9]*.performance
dEQP-GLES[0-9]*.stress
# These are really slow on tiling architectures (including llvmpipe).
dEQP-GLES[0-9]*.functional.flush_finish
# Flaky
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
dEQP-GLES2.functional.default_vertex_attrib.*
dEQP-GLES2.functional.fbo.completeness.size.distinct
dEQP-GLES2.functional.negative_api.shader.uniform_matrixfv_invalid_transpose
dEQP-GLES2.functional.negative_api.texture.generatemipmap_zero_level_array_compressed
dEQP-GLES2.functional.shaders.builtin_variable.frontfacing
dEQP-GLES2.functional.shaders.random.exponential.fragment.94
dEQP-GLES2.functional.shaders.random.all_features.fragment.55
dEQP-GLES2.functional.shaders.random.trigonometric.fragment.1
dEQP-GLES2.functional.shaders.random.trigonometric.fragment.69
# Hangs / OOM
dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_static_read
dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_dynamic_read
dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_static_loop_read
dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_dynamic_loop_read
dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_read_vertex
dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_read_vertex
dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_loop_read_vertex
dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_loop_read_vertex
dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_read_vertex
dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_read_vertex
dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_loop_read_vertex
dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_loop_read_vertex

View File

@@ -1,78 +0,0 @@
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center,Fail
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner,Fail
dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_neg_y_neg_z_and_neg_x_neg_y_pos_z,Fail
dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_pos_y_pos_z_and_neg_x_neg_y_neg_z,Fail
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4,Fail
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.depth.rbo_rgba4_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.no_rebind_rbo_rgba4_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.rebind_rbo_rgba4_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.no_rebind_rbo_rgba4_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.rebind_rbo_rgba4_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4,Fail
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16,Fail
dEQP-GLES2.functional.polygon_offset.default_displacement_with_units,Fail
dEQP-GLES2.functional.polygon_offset.fixed16_displacement_with_units,Fail
dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide,Fail
dEQP-GLES2.functional.rasterization.interpolation.basic.line_strip_wide,Fail
dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide,Fail
dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide,Fail
dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide,Fail
dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_clamp_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_mirror_etc1,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_mirror_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_repeat_etc1,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_repeat_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_clamp_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_mirror_etc1,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_mirror_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_repeat_etc1,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_repeat_l8,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_repeat_rgb888,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_repeat_rgba4444,Fail
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_repeat_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_clamp_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_mirror_etc1,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_mirror_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_repeat_etc1,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_repeat_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_clamp_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_mirror_etc1,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_mirror_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_repeat_etc1,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_repeat_l8,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_repeat_rgb888,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_repeat_rgba4444,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_repeat_rgba8888,Fail
dEQP-GLES2.functional.texture.mipmap.2d.affine.linear_linear_repeat,Fail
dEQP-GLES2.functional.texture.mipmap.2d.affine.nearest_linear_clamp,Fail
dEQP-GLES2.functional.texture.mipmap.2d.affine.nearest_linear_mirror,Fail
dEQP-GLES2.functional.texture.mipmap.2d.affine.nearest_linear_repeat,Fail
dEQP-GLES2.functional.texture.mipmap.2d.basic.linear_linear_repeat,Fail
dEQP-GLES2.functional.texture.mipmap.2d.basic.linear_linear_repeat_non_square,Fail
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_clamp,Fail
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_clamp_non_square,Fail
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_mirror,Fail
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_mirror_non_square,Fail
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_repeat,Fail
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_repeat_non_square,Fail
dEQP-GLES2.functional.texture.mipmap.2d.projected.linear_linear_repeat,Fail
dEQP-GLES2.functional.texture.mipmap.2d.projected.nearest_linear_clamp,Fail
dEQP-GLES2.functional.texture.mipmap.2d.projected.nearest_linear_mirror,Fail
dEQP-GLES2.functional.texture.mipmap.2d.projected.nearest_linear_repeat,Fail
dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_linear,Fail
dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_nearest,Fail
dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_linear,Fail
dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_nearest,Fail
dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_linear,Fail
dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_nearest,Fail

View File

@@ -1,42 +0,0 @@
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.color0.r16f,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.color0.rg16f,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.color0.rgba16f,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.depth.r16f,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.depth.rg16f,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.depth.rgba16f,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.stencil.r16f,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.stencil.rg16f,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.stencil.rgba16f,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.r8,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.rg8,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.rgb10_a2,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.rgb_half_float_oes,Fail
dEQP-GLES2.functional.fbo.completeness.size.distinct,Fail
dEQP-GLES2.functional.negative_api.shader.uniform_matrixfv_invalid_transpose,Fail
dEQP-GLES2.functional.negative_api.texture.generatemipmap_zero_level_array_compressed,Fail
dEQP-GLES2.functional.shaders.random.all_features.fragment.88,Fail
dEQP-GLES2.functional.shaders.texture_functions.vertex.texturecubelod,Fail
dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_linear,Fail
dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_nearest,Fail
dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_linear,Fail
dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_nearest,Fail
dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_linear,Fail
dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_nearest,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.linear_mipmap_linear_linear_clamp,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.linear_mipmap_linear_linear_mirror,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.linear_mipmap_linear_nearest_clamp,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.linear_mipmap_linear_nearest_mirror,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_clamp,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_mirror,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_repeat,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_clamp,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_mirror,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_repeat,Fail
dEQP-GLES2.functional.texture.vertex.cube.wrap.clamp_clamp,Fail
dEQP-GLES2.functional.texture.vertex.cube.wrap.clamp_mirror,Fail
dEQP-GLES2.functional.texture.vertex.cube.wrap.clamp_repeat,Fail
dEQP-GLES2.functional.texture.vertex.cube.wrap.mirror_clamp,Fail
dEQP-GLES2.functional.texture.vertex.cube.wrap.mirror_mirror,Fail
dEQP-GLES2.functional.texture.vertex.cube.wrap.mirror_repeat,Fail
dEQP-GLES2.functional.uniform_api.random.79,Fail

View File

@@ -1,7 +0,0 @@
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_clamp
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_mirror
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_repeat
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_clamp
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_mirror
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_repeat

View File

@@ -1,11 +0,0 @@
# Note: skips lists for CI are just a list of lines that, when
# non-zero-length and not starting with '#', will regex match to
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
dEQP-GLES[0-9]*.performance.*
dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
dEQP-GLES[0-9]*.functional.flush_finish.*

View File

@@ -1,49 +0,0 @@
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16,Fail
dEQP-GLES2.functional.fragment_ops.blend.equation_src_func_dst_func.add_src_color_one_minus_dst_alpha,Fail
dEQP-GLES2.functional.fragment_ops.blend.equation_src_func_dst_func.reverse_subtract_one_minus_dst_alpha_one_minus_src_alpha,Fail
dEQP-GLES2.functional.fragment_ops.blend.equation_src_func_dst_func.reverse_subtract_one_minus_dst_color_one_minus_src_alpha,Fail
dEQP-GLES2.functional.fragment_ops.blend.equation_src_func_dst_func.subtract_constant_alpha_one_minus_constant_color,Fail
dEQP-GLES2.functional.fragment_ops.blend.equation_src_func_dst_func.subtract_src_color_dst_color,Fail
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.dst.one_minus_constant_alpha_dst_color,Fail
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.dst.one_minus_constant_alpha_one_minus_dst_alpha,Fail
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.dst.src_color_one_minus_src_color,Fail
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.dst.src_color_zero,Fail
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.constant_alpha_constant_alpha,Fail
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.dst_alpha_constant_alpha,Fail
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.one_constant_color,Fail
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.one_minus_constant_color_one_minus_constant_alpha,Fail
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.src_alpha_saturate_one_minus_src_color,Fail
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.18,Fail
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.4,Fail
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.62,Fail
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.73,Fail
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.81,Fail
dEQP-GLES2.functional.fragment_ops.random.43,Fail

View File

@@ -1,15 +0,0 @@
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.4
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.11
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.18
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.39
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.40
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.56
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.80
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.81
dEQP-GLES2.functional.fragment_ops.random.17
dEQP-GLES2.functional.fragment_ops.random.24
dEQP-GLES2.functional.fragment_ops.random.54
dEQP-GLES2.functional.fragment_ops.random.59
dEQP-GLES2.functional.fragment_ops.random.71
dEQP-GLES2.functional.fragment_ops.blend.equation_src_func_dst_func.*
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.*

View File

@@ -1,17 +0,0 @@
# Note: skips lists for CI are just a list of lines that, when
# non-zero-length and not starting with '#', will regex match to
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
dEQP-GLES[0-9]*.performance.*
dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
dEQP-GLES[0-9]*.functional.flush_finish.*
# XXX: Why does this flake?
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
# Needs investigation
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16

View File

@@ -1,11 +0,0 @@
# Note: skips lists for CI are just a list of lines that, when
# non-zero-length and not starting with '#', will regex match to
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
dEQP-GLES[0-9]*.performance.*
dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
dEQP-GLES[0-9]*.functional.flush_finish.*

View File

@@ -1,13 +0,0 @@
# Note: skips lists for CI are just a list of lines that, when
# non-zero-length and not starting with '#', will regex match to
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
dEQP-GLES[0-9]*.performance.*
dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
dEQP-GLES[0-9]*.functional.flush_finish.*
# XXX: Why does this flake?
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z

View File

@@ -1,41 +0,0 @@
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_x,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_y,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_x,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_y,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_x,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_y,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_x,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_y,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_x,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_y,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_x,Fail
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_y,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_color,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_stencil,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_color,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_stencil,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component16,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component24,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component32f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.r16f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rg16f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgba16f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component16,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component24,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component32f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.r16f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.r32f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rg16f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rg32f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgba16f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgba32f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.stencil_index8,Fail

View File

@@ -1,13 +0,0 @@
# Note: skips lists for CI are just a list of lines that, when
# non-zero-length and not starting with '#', will regex match to
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
dEQP-GLES[0-9]*.performance.*
dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
dEQP-GLES[0-9]*.functional.flush_finish.*
# XXX: Why does this flake?
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z

View File

@@ -1,11 +0,0 @@
# Note: skips lists for CI are just a list of lines that, when
# non-zero-length and not starting with '#', will regex match to
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
dEQP-GLES[0-9]*.performance.*
dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
dEQP-GLES[0-9]*.functional.flush_finish.*

View File

@@ -1,9 +0,0 @@
# Exclude this test which might fail when a new extension is implemented.
dEQP-VK.info.device_extensions
# Exclude WSI related tests.
dEQP-VK.image.swapchain_mutable.*
dEQP-VK.wsi.*
# Exclude this test which timeout most of the time.
dEQP-VK.memory.pipeline_barrier.transfer_src_transfer_dst.1048576

View File

@@ -1,29 +0,0 @@
# Interesting failures...,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint.stencil_max,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint.stencil_min,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint.stencil_zero,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint_separate_layouts.stencil_max,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint_separate_layouts.stencil_min,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint_separate_layouts.stencil_zero,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint.stencil_max,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint.stencil_min,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint.stencil_zero,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint_separate_layouts.stencil_max,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint_separate_layouts.stencil_min,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint_separate_layouts.stencil_zero,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint.stencil_max,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint.stencil_min,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint.stencil_zero,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint_separate_layouts.stencil_max,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint_separate_layouts.stencil_min,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint_separate_layouts.stencil_zero,Fail
dEQP-VK.rasterization.flatshading.line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.basic.line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide,Fail

View File

@@ -1,9 +0,0 @@
dEQP-VK.rasterization.flatshading.line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.basic.line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide,Fail

View File

@@ -1,9 +0,0 @@
dEQP-VK.rasterization.flatshading.line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.basic.line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide,Fail

View File

@@ -1,11 +0,0 @@
dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_zerodepthbounds_depthdisabled_stencilenabled,Fail
dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_zerodepthbounds_depthdisabled_stencilenabled,Fail
dEQP-VK.rasterization.flatshading.line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.basic.line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide,Fail

View File

@@ -1,9 +0,0 @@
dEQP-VK.rasterization.flatshading.line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.basic.line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide,Fail

View File

@@ -1,31 +0,0 @@
# Disable a TON of tests to keep the run around 5-10 minutes because my runner is
# slow.
dEQP-VK.api.*
dEQP-VK.binding_model.*
dEQP-VK.clipping.*
dEQP-VK.compute.*
dEQP-VK.conditional_rendering.*
dEQP-VK.descriptor_indexing.*
dEQP-VK.device_group.*
dEQP-VK.fragment_operations.*
dEQP-VK.fragment_shader_interlock.*
dEQP-VK.graphicsfuzz.*
dEQP-VK.image.*
dEQP-VK.imageless_framebuffer.*
dEQP-VK.info.*
dEQP-VK.memory.*
dEQP-VK.memory_model.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.*
dEQP-VK.protected_memory.*
dEQP-VK.query_pool.*
dEQP-VK.robustness.*
dEQP-VK.sparse_resources.*
dEQP-VK.spirv_assembly.*
dEQP-VK.subgroups.*
dEQP-VK.synchronization.*
dEQP-VK.texture.*
dEQP-VK.transform_feedback.*
dEQP-VK.ubo.*
dEQP-VK.wsi.*
dEQP-VK.ycbcr.*

View File

@@ -1,9 +0,0 @@
dEQP-VK.rasterization.flatshading.line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.basic.line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide,Fail

View File

@@ -1,6 +0,0 @@
# This subset of CTS seems to randomly hangs on RAVEN only.
# This needs to be investigated and fixed!
dEQP-VK.synchronization.*
# Exclude this test which timeout most of the time.
dEQP-VK.memory.pipeline_barrier.transfer_src_transfer_dst.1048576

View File

@@ -1,9 +0,0 @@
dEQP-VK.rasterization.flatshading.line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.flatshading.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.basic.line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.lines_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide,Fail
dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide,Fail

View File

@@ -1,285 +0,0 @@
#!/bin/sh
set -ex
DEQP_WIDTH=${DEQP_WIDTH:-256}
DEQP_HEIGHT=${DEQP_HEIGHT:-256}
DEQP_CONFIG=${DEQP_CONFIG:-rgba8888d24s8ms0}
DEQP_VARIANT=${DEQP_VARIANT:-master}
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-width=$DEQP_WIDTH --deqp-surface-height=$DEQP_HEIGHT"
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=pbuffer"
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-gl-config-name=$DEQP_CONFIG"
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
if [ -z "$DEQP_VER" ]; then
echo 'DEQP_VER must be set to something like "gles2", "gles31" or "vk" for the test run'
exit 1
fi
if [ "$DEQP_VER" = "vk" ]; then
if [ -z "$VK_DRIVER" ]; then
echo 'VK_DRIVER must be to something like "radeon" or "intel" for the test run'
exit 1
fi
fi
if [ -z "$DEQP_SKIPS" ]; then
echo 'DEQP_SKIPS must be set to something like "deqp-default-skips.txt"'
exit 1
fi
INSTALL=`pwd`/install
# Set up the driver environment.
export LD_LIBRARY_PATH=`pwd`/install/lib/
export EGL_PLATFORM=surfaceless
export VK_ICD_FILENAMES=`pwd`/install/share/vulkan/icd.d/"$VK_DRIVER"_icd.`uname -m`.json
# the runner was failing to look for libkms in /usr/local/lib for some reason
# I never figured out.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
RESULTS=`pwd`/${DEQP_RESULTS_DIR:-results}
mkdir -p $RESULTS
# Generate test case list file.
if [ "$DEQP_VER" = "vk" ]; then
cp /deqp/mustpass/vk-$DEQP_VARIANT.txt /tmp/case-list.txt
DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk
elif [ "$DEQP_VER" = "gles2" -o "$DEQP_VER" = "gles3" -o "$DEQP_VER" = "gles31" ]; then
cp /deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt /tmp/case-list.txt
DEQP=/deqp/modules/$DEQP_VER/deqp-$DEQP_VER
SUITE=dEQP
else
cp /deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt /tmp/case-list.txt
DEQP=/deqp/external/openglcts/modules/glcts
SUITE=KHR
fi
# If the job is parallel, take the corresponding fraction of the caselist.
# Note: N~M is a gnu sed extension to match every nth line (first line is #1).
if [ -n "$CI_NODE_INDEX" ]; then
sed -ni $CI_NODE_INDEX~$CI_NODE_TOTAL"p" /tmp/case-list.txt
fi
if [ -n "$DEQP_CASELIST_FILTER" ]; then
sed -ni "/$DEQP_CASELIST_FILTER/p" /tmp/case-list.txt
fi
if [ ! -s /tmp/case-list.txt ]; then
echo "Caselist generation failed"
exit 1
fi
if [ -n "$DEQP_EXPECTED_FAILS" ]; then
BASELINE="--baseline $INSTALL/$DEQP_EXPECTED_FAILS"
fi
if [ -n "$DEQP_FLAKES" ]; then
FLAKES="--flakes $INSTALL/$DEQP_FLAKES"
fi
set +e
if [ -n "$DEQP_PARALLEL" ]; then
JOB="--jobs $DEQP_PARALLEL"
elif [ -n "$FDO_CI_CONCURRENT" ]; then
JOB="--jobs $FDO_CI_CONCURRENT"
else
JOB="--jobs 4"
fi
# If this CI lab lacks artifacts support, print the whole list of failures/flakes.
if [ -n "$DEQP_NO_SAVE_RESULTS" ]; then
SUMMARY_LIMIT="--summary-limit 0"
fi
# Silence the debug output for apps triggering GL errors, since dEQP will do a lot of that.
export MESA_DEBUG=silent
run_cts() {
deqp=$1
caselist=$2
output=$3
deqp-runner \
run \
--deqp $deqp \
--output $RESULTS \
--caselist $caselist \
--skips $INSTALL/$DEQP_SKIPS \
$BASELINE \
$FLAKES \
$JOB \
$SUMMARY_LIMIT \
$DEQP_RUNNER_OPTIONS \
-- \
$DEQP_OPTIONS
}
report_flakes() {
flakes=`grep ",Flake" $1 | sed 's|,Flake.*||g'`
if [ -z "$flakes" ]; then
return 0
fi
if [ -z "$FLAKES_CHANNEL" ]; then
return 0
fi
# The nick needs to be something unique so that multiple runners
# connecting at the same time don't race for one nick and get blocked.
# freenode has a 16-char limit on nicks (9 is the IETF standard, but
# various servers extend that). So, trim off the common prefixes of the
# runner name, and append the job ID so that software runners with more
# than one concurrent job (think swrast) don't collide. For freedreno,
# that gives us a nick as long as db410c-N-JJJJJJJJ, and it'll be a while
# before we make it to 9-digit jobs (we're at 7 so far).
runner=`echo $CI_RUNNER_DESCRIPTION | sed 's|mesa-||' | sed 's|google-freedreno-||g'`
bot="$runner-$CI_JOB_ID"
channel="$FLAKES_CHANNEL"
(
echo NICK $bot
echo USER $bot unused unused :Gitlab CI Notifier
sleep 10
echo "JOIN $channel"
sleep 1
desc="Flakes detected in job: $CI_JOB_URL on $CI_RUNNER_DESCRIPTION"
if [ -n "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" ]; then
desc="$desc on branch $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME ($CI_MERGE_REQUEST_TITLE)"
elif [ -n "$CI_COMMIT_BRANCH" ]; then
desc="$desc on branch $CI_COMMIT_BRANCH ($CI_COMMIT_TITLE)"
fi
echo "PRIVMSG $channel :$desc"
for flake in $flakes; do
echo "PRIVMSG $channel :$flake"
done
echo "PRIVMSG $channel :See $CI_JOB_URL/artifacts/browse/results/"
echo "QUIT"
) | nc irc.freenode.net 6667 > /dev/null
}
# Generate junit results
generate_junit() {
results=$1
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
echo "<testsuites>"
echo "<testsuite name=\"$DEQP_VER-$CI_NODE_INDEX\">"
while read line; do
testcase=${line%,*}
result=${line#*,}
# avoid counting Skip's in the # of tests:
if [ "$result" = "Skip" ]; then
continue;
fi
echo "<testcase name=\"$testcase\">"
if [ "$result" != "Pass" ]; then
echo "<failure type=\"$result\">"
echo "$result: See $CI_JOB_URL/artifacts/results/$testcase.xml"
echo "</failure>"
fi
echo "</testcase>"
done < $results
echo "</testsuite>"
echo "</testsuites>"
}
parse_renderer() {
RENDERER=`grep -A1 TestCaseResult.\*info.renderer $RESULTS/deqp-info.qpa | grep '<Text' | sed 's|.*<Text>||g' | sed 's|</Text>||g'`
VERSION=`grep -A1 TestCaseResult.\*info.version $RESULTS/deqp-info.qpa | grep '<Text' | sed 's|.*<Text>||g' | sed 's|</Text>||g'`
echo "Renderer: $RENDERER"
echo "Version: $VERSION "
if ! echo $RENDERER | grep -q $DEQP_EXPECTED_RENDERER; then
echo "Expected GL_RENDERER $DEQP_EXPECTED_RENDERER"
exit 1
fi
}
check_renderer() {
echo "Capturing renderer info for GLES driver sanity checks"
# If you're having trouble loading your driver, uncommenting this may help
# debug.
# export EGL_LOG_LEVEL=debug
VERSION=`echo $DEQP_VER | tr '[a-z]' '[A-Z]'`
$DEQP $DEQP_OPTIONS --deqp-case=$SUITE-$VERSION.info.\* --deqp-log-filename=$RESULTS/deqp-info.qpa
parse_renderer
}
check_vk_device_name() {
echo "Capturing device info for VK driver sanity checks"
$DEQP $DEQP_OPTIONS --deqp-case=dEQP-VK.info.device --deqp-log-filename=$RESULTS/deqp-info.qpa
DEVICENAME=`grep deviceName $RESULTS/deqp-info.qpa | sed 's|deviceName: ||g'`
echo "deviceName: $DEVICENAME"
if [ -n "$DEQP_EXPECTED_RENDERER" -a "x$DEVICENAME" != "x$DEQP_EXPECTED_RENDERER" ]; then
echo "Expected deviceName $DEQP_EXPECTED_RENDERER"
exit 1
fi
}
# wrapper to supress +x to avoid spamming the log
quiet() {
set +x
"$@"
set -x
}
if [ "$GALLIUM_DRIVER" = "virpipe" ]; then
# deqp is to use virpipe, and virgl_test_server llvmpipe
export GALLIUM_DRIVER="$GALLIUM_DRIVER"
VTEST_ARGS="--use-egl-surfaceless"
if [ "$VIRGL_HOST_API" = "GLES" ]; then
VTEST_ARGS="$VTEST_ARGS --use-gles"
fi
GALLIUM_DRIVER=llvmpipe \
GALLIVM_PERF="nopt,no_filter_hacks" \
virgl_test_server $VTEST_ARGS >$RESULTS/vtest-log.txt 2>&1 &
sleep 1
fi
if [ $DEQP_VER = vk ]; then
quiet check_vk_device_name
else
quiet check_renderer
fi
RESULTS_CSV=$RESULTS/results.csv
FAILURES_CSV=$RESULTS/failures.csv
run_cts $DEQP /tmp/case-list.txt $RESULTS_CSV
DEQP_EXITCODE=$?
echo "System load: $(cut -d' ' -f1-3 < /proc/loadavg)"
echo "# of CPU cores: $(cat /proc/cpuinfo | grep processor | wc -l)"
# Remove the shader cache, no need to include in the artifacts.
find $RESULTS -name \*.shader_cache | xargs rm -f
# junit is disabled, because it overloads gitlab.freedesktop.org to parse it.
# quiet generate_junit $RESULTS_CSV > $RESULTS/results.xml
# Turn up to the first 50 individual test QPA files from failures or flakes into
# XML results you can view from the browser.
qpas=`find $RESULTS -name \*.qpa -a ! -name deqp-info.qpa`
if [ -n "$qpas" ]; then
shard_qpas=`echo "$qpas" | grep dEQP- | head -n 50`
for qpa in $shard_qpas; do
xml=`echo $qpa | sed 's|\.qpa|.xml|'`
/deqp/executor/testlog-to-xml $qpa $xml
done
cp /deqp/testlog.css "$RESULTS/"
cp /deqp/testlog.xsl "$RESULTS/"
# Remove all the QPA files (extracted or not) now that we have the XML we want.
echo $qpas | xargs rm -f
fi
# Report the flakes to the IRC channel for monitoring (if configured):
quiet report_flakes $RESULTS_CSV
exit $DEQP_EXITCODE

View File

@@ -1,802 +0,0 @@
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center,Fail
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner,Fail
dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_neg_y_neg_z_and_neg_x_neg_y_pos_z,Fail
dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_pos_y_pos_z_and_neg_x_neg_y_neg_z,Fail
dEQP-GLES2.functional.polygon_offset.default_displacement_with_units,Fail
dEQP-GLES2.functional.polygon_offset.fixed16_displacement_with_units,Fail
dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide,Fail
dEQP-GLES2.functional.rasterization.interpolation.basic.line_strip_wide,Fail
dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide,Fail
dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide,Fail
dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide,Fail
dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide,Fail
dEQP-GLES2.functional.rasterization.limits.points,Fail
dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center,Fail
dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner,Fail
dEQP-GLES3.functional.clipping.point.wide_point_clip,Fail
dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center,Fail
dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner,Fail
dEQP-GLES3.functional.clipping.triangle_vertex.clip_two.clip_neg_y_neg_z_and_neg_x_neg_y_pos_z,Fail
dEQP-GLES3.functional.clipping.triangle_vertex.clip_two.clip_pos_y_pos_z_and_neg_x_neg_y_neg_z,Fail
dEQP-GLES3.functional.draw.random.124,Fail
dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component16,Fail
dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component24,Fail
dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component32f,Fail
dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth_component32f,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_color,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth_stencil,Fail
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_stencil,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_color,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth_stencil,Fail
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_stencil,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component16,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component24,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component32f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.r11f_g11f_b10f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.r16f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.r8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rg16f,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rg8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgb10_a2,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgb565,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgb5_a1,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgb8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgba4,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.rgba8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.srgb8_alpha8,Fail
dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth24_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth32f_stencil8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component16,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component24,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component32f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.r11f_g11f_b10f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.r16f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.r8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rg16f,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rg8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgb10_a2,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgb565,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgb5_a1,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgb8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgba4,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.rgba8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.srgb8_alpha8,Fail
dEQP-GLES3.functional.fbo.msaa.4_samples.stencil_index8,Fail
dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_alpha_to_coverage,Fail
dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage,Fail
dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage_inverted,Fail
dEQP-GLES3.functional.multisample.fbo_max_samples.sample_coverage_invert,Fail
dEQP-GLES3.functional.negative_api.buffer.blit_framebuffer_multisample,Fail
dEQP-GLES3.functional.negative_api.buffer.read_pixels_fbo_format_mismatch,Fail
dEQP-GLES3.functional.polygon_offset.default_displacement_with_units,Fail
dEQP-GLES3.functional.polygon_offset.fixed16_displacement_with_units,Fail
dEQP-GLES3.functional.polygon_offset.fixed24_displacement_with_units,Fail
dEQP-GLES3.functional.polygon_offset.float32_displacement_with_units,Fail
dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.interpolation.lines_wide,Fail
dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.lines_wide,Fail
dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.lines_wide,Fail
dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.lines_wide,Fail
dEQP-GLES3.functional.rasterization.interpolation.basic.line_loop_wide,Fail
dEQP-GLES3.functional.rasterization.interpolation.basic.line_strip_wide,Fail
dEQP-GLES3.functional.rasterization.interpolation.basic.lines_wide,Fail
dEQP-GLES3.functional.rasterization.interpolation.projected.line_loop_wide,Fail
dEQP-GLES3.functional.rasterization.interpolation.projected.line_strip_wide,Fail
dEQP-GLES3.functional.rasterization.interpolation.projected.lines_wide,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.float_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.float_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec2_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec2_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec3_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec3_mediump,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec4_highp,Fail
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec4_mediump,Fail
dEQP-GLES3.functional.state_query.integers.max_samples_getfloat,Fail
dEQP-GLES3.functional.state_query.integers.max_samples_getinteger64,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_clamp_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_clamp_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_clamp_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_mirror_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_mirror_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_mirror_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_clamp_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_clamp_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_clamp_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_mirror_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_mirror_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_mirror_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_clamp_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_clamp_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_clamp_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_mirror_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_mirror_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_mirror_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_clamp_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_clamp_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_clamp_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_mirror_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_mirror_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_mirror_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_clamp_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_clamp_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_clamp_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_mirror_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_mirror_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_mirror_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_clamp_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_clamp_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_mirror_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_mirror_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_repeat_mirror,Fail
dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_repeat_repeat,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.r11f_g11f_b10f_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.r11f_g11f_b10f_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.r11f_g11f_b10f_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.r11f_g11f_b10f_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.r11f_g11f_b10f_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb10_a2_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb10_a2_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb10_a2_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb10_a2_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb10_a2_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb565_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb565_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb565_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb565_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb565_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb5_a1_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb5_a1_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb5_a1_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb5_a1_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb5_a1_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba16f_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba16f_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba16f_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba16f_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba16f_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba4_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba4_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba4_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba4_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba4_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_snorm_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_snorm_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_snorm_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_snorm_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_snorm_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.srgb8_alpha8_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.srgb8_alpha8_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.srgb8_alpha8_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.srgb8_alpha8_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.srgb8_alpha8_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.srgb_r8_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.srgb_r8_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.srgb_r8_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.srgb_r8_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.formats.srgb_r8_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.sizes.128x32x64_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.sizes.128x32x64_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.sizes.128x32x64_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.sizes.128x32x64_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.sizes.128x32x64_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.sizes.63x63x63_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.sizes.63x63x63_linear_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.sizes.63x63x63_linear_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.filtering.3d.sizes.63x63x63_nearest_mipmap_linear,Fail
dEQP-GLES3.functional.texture.filtering.3d.sizes.63x63x63_nearest_mipmap_nearest,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_linear_clamp,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_linear_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_linear_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_linear_clamp,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_linear_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_linear_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_nearest_clamp,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_nearest_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_nearest_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_nearest_linear_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_nearest_clamp,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_nearest_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_nearest_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.nearest_linear_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.nearest_mipmap_linear_linear_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.filtering.nearest_mipmap_nearest_linear_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_clamp_clamp,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_clamp_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_clamp_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_mirror_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_mirror_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_repeat_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_repeat_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_clamp_clamp,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_clamp_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_clamp_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_mirror_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_mirror_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_repeat_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_repeat_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_clamp_clamp,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_clamp_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_clamp_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_mirror_clamp,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_mirror_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_mirror_repeat,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_repeat_clamp,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_repeat_mirror,Fail
dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_repeat_repeat,Fail
dEQP-GLES3.functional.texture.wrap.astc_8x8.repeat_repeat_linear_divisible,Fail
dEQP-GLES3.functional.texture.wrap.astc_8x8.repeat_repeat_linear_not_divisible,Fail
dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb.repeat_repeat_linear_divisible,Fail
dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb.repeat_repeat_linear_not_divisible,Fail
dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10.components4_quads1,Fail
dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10.components4_quads256,Fail
dEQP-GLES31.functional.debug.error_filters.case_29,Fail
dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer.read_pixels_fbo_format_mismatch,Fail
dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.blit_framebuffer_multisample,Fail
dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.read_pixels_fbo_format_mismatch,Fail
dEQP-GLES31.functional.debug.negative_coverage.log.buffer.read_pixels_fbo_format_mismatch,Fail
dEQP-GLES31.functional.draw_base_vertex.draw_elements_instanced_base_vertex.line_loop.instanced_attributes,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.0,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.1,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.10,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.11,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.12,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.14,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.16,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.17,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.19,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.2,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.3,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.4,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.5,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.6,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.7,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.8,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.9,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.0,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.1,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.14,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.15,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.16,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.17,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.19,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.2,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.4,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.5,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.7,Fail
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.9,Fail
dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.line_strip.multiple_attributes,Fail
dEQP-GLES31.functional.fbo.no_attachments.interaction.17x512ms4_default_16x16ms2,Fail
dEQP-GLES31.functional.fbo.no_attachments.interaction.1x1ms0_default_2048x2048ms4,Fail
dEQP-GLES31.functional.fbo.no_attachments.interaction.2048x2048ms4_default_1x1ms0,Fail
dEQP-GLES31.functional.fbo.no_attachments.interaction.256x256ms0_default_512x512ms2,Fail
dEQP-GLES31.functional.fbo.no_attachments.interaction.256x256ms2_default_128x512ms0,Fail
dEQP-GLES31.functional.fbo.no_attachments.multisample.samples2,Fail
dEQP-GLES31.functional.fbo.no_attachments.multisample.samples3,Fail
dEQP-GLES31.functional.fbo.no_attachments.multisample.samples4,Fail
dEQP-GLES31.functional.fbo.no_attachments.random.1,Fail
dEQP-GLES31.functional.fbo.no_attachments.random.11,Fail
dEQP-GLES31.functional.fbo.no_attachments.random.14,Fail
dEQP-GLES31.functional.fbo.no_attachments.random.15,Fail
dEQP-GLES31.functional.fbo.no_attachments.random.4,Fail
dEQP-GLES31.functional.fbo.no_attachments.random.9,Fail
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_amplification,Fail
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_instanced,Fail
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_no_amplification,Fail
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_no_geometry,Fail
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_partial_primitives,Fail
dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil,Fail
dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil_fbo,Fail
dEQP-GLES31.functional.image_load_store.early_fragment_tests.no_early_fragment_tests_depth,Fail
dEQP-GLES31.functional.image_load_store.early_fragment_tests.no_early_fragment_tests_depth_fbo,Fail
dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.dynamically_uniform_geometry,Crash
dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples_getfloat,Fail
dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples_getinteger,Fail
dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples_getinteger64,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_float,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_integer,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_pure_int,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_pure_uint,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_float,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_integer,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_pure_int,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_pure_uint,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_float,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_integer,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_pure_int,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_pure_uint,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_float,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_integer,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_pure_int,Fail
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_pure_uint,Fail
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth32f_stencil8.linear_size_npot,Fail
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth32f_stencil8.linear_size_pot,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_clamp_repeat,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_mirror_repeat,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_repeat_clamp,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_repeat_mirror,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_repeat_repeat,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_clamp_repeat,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_mirror_repeat,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_repeat_clamp,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_repeat_repeat,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_clamp_repeat,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_mirror_repeat,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_repeat_clamp,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_repeat_mirror,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_clamp_repeat,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_mirror_repeat,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_repeat_clamp,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_repeat_mirror,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_nearest_repeat_clamp,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_nearest_repeat_mirror,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_nearest_repeat_repeat,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_nearest_repeat_mirror,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_linear_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_nearest_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_nearest_mipmap_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb565_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb565_nearest_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb5_a1_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb5_a1_nearest_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb9_e5_nearest_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb9_e5_nearest_mipmap_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba16f_nearest_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba16f_nearest_mipmap_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba4_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba4_nearest_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_nearest_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_nearest_mipmap_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_snorm_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_snorm_nearest_mipmap_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.sr8_nearest_mipmap_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.srgb8_alpha8_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.formats.srgb8_alpha8_nearest_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_linear_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_linear_mipmap_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_nearest_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_nearest_mipmap_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.63x63x18_nearest_mipmap_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.64x64x12_nearest_mipmap_linear,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.64x64x12_nearest_mipmap_nearest,Fail
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.8x8x6_nearest,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_linear_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_linear_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_nearest_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_nearest_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_linear_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_linear_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_nearest_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_nearest_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_linear_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_linear_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_nearest_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_nearest_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_linear_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_linear_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_nearest_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_nearest_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_alpha_to_coverage,Fail
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_sample_coverage,Fail
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_sample_coverage_and_alpha_to_coverage,Fail
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_non_effective_bits,Fail
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_only,Fail
KHR-GL33.CommonBugs.CommonBug_ParenthesisInLayoutQualifierIntegerValue,Fail
KHR-GL33.clip_distance.functional,Fail
KHR-GL33.cull_distance.functional,Fail
KHR-GL33.pipeline_statistics_query_tests_ARB.functional_compute_shader_invocations,Fail
KHR-GL33.pipeline_statistics_query_tests_ARB.functional_fragment_shader_invocations,Fail
KHR-GL33.pipeline_statistics_query_tests_ARB.functional_primitives_vertices_submitted_and_clipping_input_output_primitives,Fail
KHR-GL33.texture_size_promotion.functional,Fail
KHR-GL33.transform_feedback.capture_geometry_interleaved_test,Fail
KHR-GL33.transform_feedback.capture_geometry_separate_test,Fail
KHR-GL33.transform_feedback.capture_vertex_interleaved_test,Fail
KHR-GL33.transform_feedback.capture_vertex_separate_test,Fail
KHR-GL33.transform_feedback.discard_vertex_test,Fail
KHR-GL33.transform_feedback.draw_xfb_instanced_test,Crash
KHR-GL33.transform_feedback.draw_xfb_stream_instanced_test,Crash
KHR-GL33.transform_feedback.draw_xfb_stream_test,Fail
KHR-GL33.transform_feedback.query_geometry_interleaved_test,Fail
KHR-GL33.transform_feedback.query_geometry_separate_test,Fail
KHR-GL33.transform_feedback.query_vertex_interleaved_test,Fail
KHR-GL33.transform_feedback.query_vertex_separate_test,Fail
KHR-GL33.transform_feedback_overflow_query_ARB.advanced-single-stream-interleaved-attribs,Fail
KHR-GL33.transform_feedback_overflow_query_ARB.advanced-single-stream-separate-attribs,Fail
KHR-GL33.transform_feedback_overflow_query_ARB.basic-single-stream-interleaved-attribs,Fail
KHR-GL33.transform_feedback_overflow_query_ARB.basic-single-stream-separate-attribs,Fail
KHR-GL33.transform_feedback_overflow_query_ARB.multiple-streams-multiple-buffers-per-stream,Fail
KHR-GL33.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream,Fail

Some files were not shown because too many files have changed in this diff Show More